接口是引用类型还是值类型?

颤菊大师 2008-12-22 12:41:55
经测试:值类型

    class Program
{
static void Main(string[] args)
{
MyStruct myStruct = new MyStruct();
myStruct.Val = 5;
object myObj1 = myStruct;
myStruct.Val++;
MyStruct myStruct2 = (MyStruct)myObj1;
Console.WriteLine(myStruct.Val);
Console.WriteLine(myStruct2.Val);

MyStruct myStruct3 = new MyStruct();
myStruct3.Val = 5;
IMyInterface refType = myStruct3;
myStruct3.Val++;
MyStruct myStruct4 = (MyStruct)refType;
Console.WriteLine(myStruct3.Val);
Console.WriteLine(myStruct4.Val);

MyClass myClass = new MyClass();
myClass.Val = 5;
object myObj2 = myClass;
myClass.Val++;

MyClass myClass2 = (MyClass)myObj2;
Console.WriteLine(myClass.Val);
Console.WriteLine(myClass2.Val);

Console.ReadKey();
}
}
interface IMyInterface { }
struct MyStruct : IMyInterface
{
public int Val;
}

class MyClass
{
public int Val;
}
...全文
73 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2008-12-22
  • 打赏
  • 举报
回复
你这竟然也叫测试?

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧