草庐IT

foreach_x_do

全部标签

c# - IEnumerable - 更新 foreach 循环内的对象

我有一个非常简单的程序,它创建了一堆对象并遍历它们以设置每个对象的Priority属性。staticvoidMain(string[]args){foreach(varobjinObjectCreator.CreateObjectsWithPriorities())Console.WriteLine(String.Format("Object#{0}haspriority{1}",obj.Id,obj.Priority));}classObjectCreator{publicstaticIEnumerableCreateObjectsWithPriorities(){varobjs=n

c# - Asp.Net 路由 : How do I ignore multiple wildcard routes?

我想忽略多个通配符路由。在asp.netmvcpreview4中,它们附带:RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");我还想添加如下内容:RouteTable.Routes.IgnoreRoute("Content/{*pathInfo}");但这似乎破坏了一些在我的程序中生成url的助手。想法? 最佳答案 这里有两种可能的解决方案。向忽略路由添加约束以确保只有应忽略的请求才会匹配该路由。有点笨拙,但应该可以。RouteTable.Routes.Ignor

c# - Visual Studio 代码分析规则 - "Do not expose generic lists"

Donotexposegenericlists如果我所有的方法都需要公开一个集合,那么我需要使用LinqExtension.ToList(),几乎所有我需要使用列表的地方,或者我所有代码中的用户集合。如果是这样的话,.ToList()是在忽略规则吧?或者是否有一种技术,例如复制列表o来解决违规问题并仍然返回列表? 最佳答案 我禁用了该规则,因为我觉得它无效。如果你想返回一个包含O(1)的集合count并且不是对内部字段的直接引用,List是最好的选择。我不太了解您的情况,但听起来您有一种方法可以返回对某些内部数据的LINQ查询。如果

c# - 将 foreach 与 ArrayList 一起使用 - 自动转换?

ArrayListx=newArrayList();x.Add(10);x.Add("SS");foreach(stringsinx){}这是否意味着当foreach运行时它会尝试将数组列表的元素转换为foreach表达式中的类型? 最佳答案 是的,如果一个元素不能转换为该类型,您将得到一个InvalidCastException。在您的情况下,您不能将盒装int转换为string导致抛出异常。本质上,它等同于:foreach(object__oinlist){strings=(string)__o;//loopbody}

c# - C++/命令行界面 : How do I declare abstract (in C#) class and method in C++/CLI?

以下C#代码在C++/CLI中的等价物是什么?publicabstractclassSomeClass{publicabstractStringSomeMethod();} 最佳答案 只需稍微混合关键字即可获得正确的语法。abstract在C#中位于前面,但在C++/CLI中位于末尾。与override关键字相同,今天也被C++11兼容的编译器识别,它们期望它位于函数声明的末尾。就像传统C++中的=0标记函数抽象一样:publicrefclassSomeClassabstract{public:virtualString^SomeM

c# - 重载索引器以具有 foreach'able 类

我试图做这样的事情,但这不起作用:classGarage{privateListcars=newList();publicCarthis[inti]{get{returncars[i];}}//...}Garageg=newGarage();//getCS1579-noGetEnumeratordefinitionforeach(Carcing){//...}由于MSDN说索引器可能会过载,所以我决定在这里请教专家。如何重载索引器配合foreach循环? 最佳答案 foreach与indexers无关.您需要声明一个GetEnume

c# - 在 foreach 循环内外调用 SaveChanges() 有什么区别?

假设在循环内对EF实体进行了更改,在foreach循环或循环外调用EFSaveChanges()之间是否存在任何性能优势/技术差异? 最佳答案 是的!如果您在循环内调用它,EF将为每个实体将更改写回数据库(并且每个实体都将在其自己的单独事务中)。反过来,您将进行所有更改,EF将在循环后一次将它们写回(所有实体一起在一个事务中)。作为一般经验法则(无需实际查看您的代码)尝试尽可能少地调用.SaveChanges()。一次调用50次更改通常比50次调用每次1次更改更好/更快/更有效。 关于c

c# - 在通用列表的 ForEach() 的 lambda 表达式中使用条件运算符?

在ForEach的lambda表达式中不允许有条件运算符吗?Listitems=newList{"Item1","Item2","ItemICareAbout"};stringwhatICareAbout="";//doesn'tcompile:(items.ForEach(item=>item.Contains("ICareAbout")?whatICareAbout+=item+",":whatICareAbout+="");编译错误->“只有assignment、call、increment、decrement、new对象表达式才能作为语句使用”尝试使用正常的if也不起作用://

c# - Task.Factory.StartNew 或 Parallel.ForEach 用于许多长时间运行的任务?

这个问题在这里已经有了答案:9年前关闭。PossibleDuplicate:Parallel.ForEachvsTask.Factory.StartNew我需要在ThreadPool中运行大约1,000个任务每晚一次(这个数字将来可能会增加)。每个任务都在执行长时间运行的操作(从Web服务读取数据)并且是非CPU密集型.AsyncI/O不是此特定用例的选项。给定一个IList参数,我需要DoSomething(stringx).我试图在以下两个选项之间进行选择:IListtasks=newList();foreach(varpinparameters){tasks.Add(Task.F

c# - List<T>.ForEach 带索引

我正在尝试查找与以下代码等效的LINQ:NameValueCollectionnvc=newNameValueCollection();Listdonations=newList();donations.Add(newBusinessLogic.Donation(0,"","","");donations.Add(newBusinessLogic.Donation(0,"","","");donations.Add(newBusinessLogic.Donation(0,"","","");for(vari=0;i我希望我可以使用类似的东西:NameValueCollectionnvc