Tag: 语法

foreach纯粹是“语法糖”吗?

当foreach与数组一起使用时,编译器将foreach循环编译为类似for循环的东西。 当foreach与IEnumerable或IEnumerable一起使用时,编译器会将foreach循环编译为类似while循环的东西。 那么这是否意味着foreach纯粹是syntactic sugar ? 或者有什么复杂的东西吗? CLR是否了解foreach ? 在MSIL代码中是否有专门针对foreach设计的内容?

为什么我们不能在while循环中定义变量?

我们可以做的: using (Stream s ..) 和: for (int i …) 为什么我们不能这样做: while ((int i = NextNum()) > 0) {..} 我发现它非常有用和明智。

在C#中附加事件处理程序的两种不同方式是否存在实际差异?

在C#中,引擎盖之间有任何真正的区别(除语法之外): myButton.Click += new EventHandler(myMemberMethod); 和 myButton.Click += myMemberMethod; ?

在C#中的if语句中测试多个值

C#中是否有简写语法来实现: if ((x == 1) || (x==2) || (x==5) || (x==13) || (x==14)) ……更短? 像(假设)的东西 if (x in {1, 2, 5, 13, 14}) 我“感觉”它就像它存在一样,我只是在精神上和Googly。 实际上,我必须经常测试一堆枚举,这是不可读的。 如果语言已经支持,我也讨厌做一个小帮手function。 提前致谢! 编辑 有一些聪明的解决方案涉及列表…但我希望有一种纯粹的逻辑结构。 如果它不存在,那就这样吧。 谢谢!

在C#中,myInt ++和++ myInt有什么区别?

我很难理解用C#递增变量之间的区别是什么: myInt++; 和 ++myInt; 什么时候你会使用哪一个? 我会给voteCount ++以获得最佳答案。 或者我应该给它++ voteCount …

C# – 是否为foreach循环的每次迭代调用函数?

可能重复: 在遍历函数结果时,foreach如何工作? 如果我具有以下function – 将在foreach循环中为每次迭代调用ReturnParts(),还是只调用一次? private void PrintParts() { foreach(string part in ReturnParts()) { // Do Something or other. } } private string[] ReturnParts() { // Build up and return an array. }

为什么选择Properties作为公共变量?

其他能够在设置器中进行健全性检查值是否更偏向于将属性更改为公共变量?

使用New Handler附加Eventhandler与直接分配它

创建新事件处理程序与直接将其分配给事件的实际差异,优缺点是什么? _gMonitor.CollectionChanged += new NotifyCollectionChangedEventHandler(OnCollectionChanged); VS _gMonitor.CollectionChanged += OnCollectionChanged;

波浪号在表达式中意味着什么?

可能重复: C#枚举中的波浪号(〜)是多少? 我在这个 MSDN页面上找到了以下代码。 (((Width * Planes * BitCount + 31) & ~31) / 8) * abs(Height) 这确实可以在C#visual studio 2010中编译。在数字31前面,代字号“〜”究竟是什么? 我以前从未在表达式中看到过这种语法。