Tag: 变量

c#引用变量mem分配

有没有人知道在创建引用类型变量时占用了多少内存? String s =“123”; 将占用多少内存作为参考,而不是指向它的数据?

dynamic和System.Object之间的区别

声明为dynamic的变量和声明为System.Object的变量之间有什么区别? 运行以下函数似乎表明两个变量都动态地转换为正确的类型: void ObjectTest() { System.Object MyTestVar = “test”; dynamic MyTestVar2 = “Testing 123”; Console.WriteLine(“{0}”, MyTestVar.GetType()); Console.WriteLine(“{0}”, MyTestVar2.GetType()); MyTestVar = 123; MyTestVar2 = 321; Console.WriteLine(“{0}”, MyTestVar.GetType()); Console.WriteLine(“{0}”, MyTestVar2.GetType()); }

为什么未自动初始化未分配的局部变量?

似乎没有办法在代码中使用未分配的局部变量或检查它们,因为编译器吐出Use of unassigned local variable错误。 为什么编译器在编译时不对这些变量使用default(T) ? 即使对值类型更难做,在这种情况下,引用类型也可以很容易地初始化为null ,对吧? 这是一些测试代码: public void Test ( ) { int x; string s; if ( x == 5 ) Console.WriteLine ( 5 ); if ( s != null ) Console.WriteLine ( “s” ); } 返回: Use of unassigned local variable ‘x’ Use of unassigned local variable ‘s’ 更新: […]

调试时如何“运行直到此变量更改”?

在调试我的C#时,我经常想知道变量的值何时发生变化 ,然后调查程序的状态。 目前,我这样做: 观察有问题的变量。 物理垃圾邮件F10 (Step Over的快捷方式),直到我看到值更改。 但是,所需的F10数量令人讨厌。 我想,这当然是自动化的。 但我在我的Microsoft Visual C#Express中找不到这个function,这让我感到惊讶。 毕竟,监视列表会自动突出显示亮红色的更改值。 我错过了什么吗?

没有第三个变量如何交换?

我必须使用数值交换两个变量而不使用第三个变量。 什么是简单的解决方案?

var in C# – 为什么它不能用作成员变量?

为什么不能在C#中的类级别拥有隐式类型的变量,以便立即分配这些变量? 即: public class TheClass { private var aList = new List(); } 它只是尚未实现的东西,还是存在概念/技术原因导致其未完成的原因?

C#变量初始化与赋值

在我发现的一本书中(翻译): 初始化意味着在声明时分配变量的值。 int X=5称为初始化命令。 编辑:它只是说,只有在声明时分配值时才使用术语初始化。 如果你以后这样做,那就是它的正当分配(根据它 – 我不这么认为,这就是我要问的原因)。 这是真的吗? 好吧,我一直认为(并且根据网上的其他人的说法)关于首先将值赋值给变量的初始化。 我认为int X=5只是赋值作为声明的一部分。 我试图在MSDN上搜索没有运气。 感谢您提供任何信息。

C#3.0中var关键字的优点

重复: 什么用var或对象名称类型 我无法理解C#3.0中var关键字的必要性使用它有什么好处。 我看到了这个问题但却不明白使用它的真正目的

C#中的非初始化变量

我有以下代码: class Foo { public Foo() { Bar bar; if (null == bar) { } } } class Bar { } 代码专家已经看到这会给出错误。 在if语句之前可能没有初始化Bar。 所以现在我想知道:酒吧的价值是什么,不应该是空的吗? 它们不是设置为空吗? (空指针?)

C#,在for..loop中声明一个变量,会降低性能吗?

例如: for (i = 0; i < 100; i++) { string myvar = ""; // Some logic } 它会使性能或内存泄漏吗? 为什么我这样做,因为我不想在for..loop之外访问“myvar”。 它是任何性能监视器,我可以比较两个片段或整个程序之间的执行时间? 谢谢。