草庐IT

var_count

全部标签

c# - 为什么 foreach(var i in array2D) 适用于多维数组?

给定以下C#代码:int[,]array2D=newint[10,10];intsum=0;foreach(variinarray2D){sum+=i;}问题是:是什么导致了i的类型?被正确推断为int?这一点都不明显,因为array2D是一个矩形数组。它没有实现IEnumerable.它还实现了一个GetEnumerator()方法,返回System.Collections.IEnumerator.因此,我希望i类型为object.我的代码使用的是.net4.03。相关问题:WhydoC#MultidimensionalarraysnotimplementIEnumerable?.

c# - 在 C# 中使用 var 和 default 进行声明

最近我看到有人大量使用var和default关键字来声明变量(以及每个声明),像这样:varemployee=default(Employee);//EmployeeisaclassvarerrorInfo=default(ErrorInfo);//ErrorInfoisstruct;Blankisdefaultvaluevarsalary=default(Double);varisManager=default(Boolean?);而不是使用:Employeeemployee=null;//EmployeeisaclassErrorInfoerrorInfo=Blank;//Erro

c# - 在不锁定集合的情况下从通用集合中获取 Count 值是安全的吗?

我有两个线程,一个生产者线程将对象放入通用列表集合中,另一个消费者线程将这些对象从同一个通用列表中拉出。我已经使用lock关键字正确同步了对集合的读取和写入,并且一切正常。我想知道是否可以在不先锁定集合的情况下访问Count属性。JaredPar引用计数属性inhisblog作为可能导致竞争条件的决策程序,如下所示:if(list.Count>0){returnlist[0];}如果列表中有一个项目,并且在访问Count属性之后但在索引器之前删除了该项目,则会发生异常。我明白了。但是使用Count属性可以确定一个完全不同的集合的初始大小吗?MSDNdocumentation说实例成员不

c# - 为什么 var m = 6++++++++ 6;在 C# 中有效吗?

标题是最重要的问题,是什么让它成为有效代码?有什么好处或技巧可以让我利用它吗? 最佳答案 unaryplus运算符具有更高的precedence比addition运算符,只需将您的表达式拆分为多个分组表达式,这看起来非常明显:varm=6+(+(+(+(+(+(+(+(6))))))));//6+6 关于c#-为什么varm=6++++++++6;在C#中有效吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

c# - 比 var 更好的推断变量的词

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。这可能会被关闭,但我还是会尝试。前几天我向一位VB6程序员展示了我的一些C#代码,他注意到了var关键字并且说“哦,一个变体类型,当你这样做时,它并不是真正的强类型。”我不得不继续典型的“var!=VARIANT”演讲来向他解释这不是它只是编译器推断的变体。我在考虑他们(C#团队)可以使用的其他词,这样这种事情就不会发生。我个人喜欢infer,比如:in

c# - 如何在 LINQ 中为 var 编制索引?

我正在尝试让以下代码在LINQPad中工作,但无法索引到var。有人知道如何在LINQ中索引到var吗?string[]sa={"one","two","three"};sa[1].Dump();varva=sa.Select((a,i)=>new{Line=a,Index=i});va[1].Dump();//Cannotapplyindexingwith[]toanexpressionoftype'System.Collections.Generic.IEnumerable' 最佳答案 正如评论所说,您不能使用[]应用索引到Sy

c# - Linq 加入 COUNT 个

我有2个表,论坛和帖子。我想用一个新的额外字段检索所有论坛字段:计算属于该论坛的所有帖子。我现在有这个:varv=(fromforuminForumsjoinpostinPostsonforum.ForumIDequalspost.Forum.ForumIDselectnew{forum,//Needtoretrieveallfields/columnsfromforumPostCount=//countallpostthatbelongtothisforumwithacondition:countitonlyifpost.Showit==1}).Distinct()连接必须是左连接:

c# - list.count 是在物理上遍历列表来计算它,还是保留一个指针

我正在遍历一个大的对象列表来对列表中的所述对象做一些事情。在我的迭代过程中,我会根据特定条件从列表中删除一些对象。完成所有操作后,我需要根据列表中的对象数量更新UI。(T列表)。问题:WhenIcalllist.count,does.netactuallyiteratethroughthelisttocountit,ordoesitstorethecountasaproperty/variable?如果.net在物理上重复遍历列表,我也可以在自己遍历列表时保留一个计数器,从而节省开销?谢谢 最佳答案 它只是保留一个内部整数来跟踪项目

c# - var 默认为哪种 int 类型?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:C#short/long/intliteralformat?Reading关于var在编程中的使用,我很好奇var在用于int类型时的默认值。例如,如果我使用varfoo=65535类型是ushort还是int?谢谢。

c# - 在C#中,使用List<T>时,缓存Count属性好不好,还是属性够快?

换句话说,如果有的话,下面哪个会更快?ListmyList;......foreach(WhateverwhateverinSomeOtherLongList){...if(i或ListmyList;......intlistCount=myList.Count;foreach(WhateverwhateverinSomeOtherLongList){...if(i谢谢:) 最佳答案 Count只是一个整数。当你问它的值(value)时,它不会被计算出来。它是“预先计算的”,所以是一样的。选项1更具可读性:)