【c# – 如何在Windows中迭代无响应的程序?】教程文章相关的互联网学习教程文章

C#中foreach语句的迭代器实现机制【代码】

原文链接:http://www.cnblogs.com/riasky/p/3481600.htmlC#中的foreach语句可用于循环遍历某个集合中的元素,而所有的只要支持了IEnumerable或IEnumerable<T>泛型接口的类型都是可以 用foreach遍历的。其具体的遍历实现过程就是利用C#中的迭代器中的方法来按照特定顺序遍历的。在.NET中IEnumerator和IEnumerator<T> 就是对迭代器的抽象,如果要自定义的类型也支持foreach循环则首先须要声明该类支持IEnumerable或IEnumerable<T>接...

c# – 用于从集合中删除对象的迭代器的Java模拟【代码】

在Java中,我可以使用Iterator.remove()方法http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html#remove()迭代集合并从中删除一些对象 这非常自然而且很自然.就像你正在寻找冰箱里的食物,扔掉过期日期的食物.如何在c#中做同样的事情? 我想在同一个循环中迭代和清理集合. 有几个相关的问题,例如How to iterate and update a list但是我仍然无法在c#中找到此操作的确切副本解决方法:如果您正在使用List< T>,则可以...

c# – 如何迭代这种特殊类型的字典?【代码】

我有一堆来自数据库的结果,我保存在Dictionary< int,Result>()中. 我有的Result类是:public int Id { get; set; } public string something { get; set; } public string somethingtwo { get; set; } public string somethingthree { get; set; } public DateTime Posted { get; set; } public string Location { get; set; } public bool somethingfour { get; set; }所以,Dictionary< int,Result>里面有很多结果,我想迭代它们.我...

c# – .NET一次迭代IEnumerable中的几个元素【代码】

给定一个集合,我需要一次遍历所有元素三(或其他一些数量).例如:string[] exampleData = {"John", "Doe", "1.1.1990", "Jane", "Roe", "2.2.1980"}for(int i = 0; i < exampleData.Length; i += 3) {CreateUser(foreName: exampleData[i], surName: exampleData[i+1], dateOfBirth: exampleData[i+2]); } 如果exam??pleData是IEnumerable而不是数组,我怎么能有效地重现这个?解决方法:一种有效的方法是使用扩展方法:public static...

c# – 在迭代期间从SortedList中删除是否安全【代码】

我的问题是枚举器从SortedList中删除项目是否安全?SortedList<decimal, string> myDictionary; // omitted codeIEnumerator<decimal, string> enum = myDictionary.GetEnumerator();while(enum.MoveNext) {// is it ok to remove here?myDictionary.Remove(enum.Current.Key); }解决方法:这将抛出异常 – 您无法在迭代时修改集合. 如果你仔细想一想,你会理解为什么.如果允许在集合中添加或删除,则不再迭代同一集合 – 您要么太多(...

c# – ASP.NET MVC使用数据注释迭代模型属性【代码】

问题描述 我的问题类似于this question,但不是通过反射(由ModelMetadata.DisplayName处理)将数据注释应用于属性Name我将它们应用于值(不由ModelMetadata处理). 详细说明 在ASP.NET MVC程序的上下文中.假设我有一个Model类public class Model {public string FirstName { get; set; }public string LastName { get; set; }public string NickName { get; set; }public string Address { get; set; }public int Phone { get; set; }[...

c# – 如何使用for each或foreach迭代IEnumerable集合?【代码】

我想逐个添加值但在for循环中如何迭代通过逐个值并将其添加到字典中.IEnumerable<Customer> items = new Customer[] { new Customer { Name = "test1", Id = 111}, new Customer { Name = "test2", Id = 222} };我想在i = 0时添加{Name =“test1”,Id = 111}并且当i = 1 n时,想要添加{Name =“test2”,Id = 222}. 现在我正在每个键中添加完整的集合.(希望使用foreach或forloop实现此目的)public async void Set(IEnumerable coll...

c# – 如何迭代LibraryStack中的元素?【代码】

我有一个LibraryStack的以下定义:<s:LibraryStack Name="TaggingContainer" Margin="20" Grid.Row="1" Grid.ColumnSpan="2" AllowDrop="True" Height="300" Width="300" s:SurfaceDragDrop.DragLeave="TaggingContainer_DragLeave" s:SurfaceDragDrop.DragEnter="TaggingContainer_DragEnter" s:SurfaceDragDrop.PreviewDrop="LibraryStack_PreviewDrop"><s:LibraryStack.ItemTemplate><DataTemplate><Label Content="{Binding Na...

c# – 如何按最少到大多数非零元素的顺序迭代排列?【代码】

我正在尝试编写一个C#函数,给定一个像new int [] {2,3,2}的参数,它指定每个元素的上限1,将返回以下内容(通过IEnumberable< int []>):0 0 0 0 0 1 0 1 0 0 2 0 1 0 0 0 1 1 0 2 1 1 0 1 1 1 0 1 2 0 1 1 1 1 2 1请注意,顺序很重要:所有排列都包含0个非零元素,后跟所有包含1个非零元素的排列等.在其中一个组中,顺序无关紧要. 我意识到这些在技术上可能不是排列,但它是我所知道的最接近的术语.另外我意识到一种方法是以某种顺序返回...

c# – 如何在TFS 2012中锁定迭代?

一旦迭代(Sprint)结束,我们需要将其锁定,以便任何人都不能再登记到该迭代中(除非他们当然会覆盖签入警告). 我怎样才能做到这一点?我看了一下Team Foundation Server SDK命名空间(Microsoft.TeamFoundation),但到目前为止还没有找到.解决方法:交互(Sprint)通常用作工作项中的迭代路径.但是从你的问题的上下文我建议你在每个迭代的源代码管理中有一个文件夹,对吧? >右键单击文件夹和“Advanced-> Security …”> WebAccess打开>删除...

c# – 如何在不知道键的类型和值的类型的情况下迭代KeyValuePair的枚举【代码】

说我有这样的方法:public void Foo(object arguments)并说我需要检测参数的类型是否实际上是一个枚举.我会写这样的东西:if (arguments is IEnumerable)现在,假设我需要检测它是否是KeyValuePair的枚举(无论键的类型和值的类型如何).我的直觉是写这样的东西:if (arguments is IEnumerable<KeyValuePair<,>>)但是visual studio抱怨使用泛型类型’KeyValuePair< TKey,TValue>‘需要2个类型参数. 我也尝试过:if (arguments is IEnu...

c# – 通过IQueryable迭代没有特定类型?【代码】

所以我有这个LINQ查询结束于自定义选择有点像这样:select new { this1 = table.this1, this2 = othertable.this2 }从Controller调用该查询看起来像这样:ViewData["these"] = theRepo.GetAllThese(someVar, anotherVar);现在当我将它传递给我的视图时,因为它不是强类型的,我怎么能用foreach迭代它,如果我不知道它里面有什么,我怎么能把它作为IQueryable或List? ……是这样的吗?IQueryable<???> these = ViewData["These"]; fore...

C#/ ASP.NET迭代表【代码】

我有一个由10行组成的表,每行包含3个字段(SKU,开始日期,结束日期).我的目标是遍历表行并提取这些值.到目前为止,我还没有找到一个有效的解决方案.以下是我到目前为止:protected void btnVerify_Click(object sender, EventArgs e) {//START LOOP THROUGH TABLE ROWS//foreach (TableRow row in Table1.Rows){foreach (Control ctrl in row.Controls){//CONTROL IS TEXBOXT: EXTRACT VALUES//if (ctrl is TextBox){TextBox txt = (T...

c#——树的深度,广度优先遍历与迭代器(IEnumerable<T>)的结合使用【代码】

树是开发工作中比较常见的一种数据结构,园子里有很多文章介绍了对它的遍历,此处我们结合c#的迭代器机制,创建两种树的遍历方法。 static IEnumerable<T> DepthFirstTravel<T>(T root,Func<T,IEnumerable<T>> getChildren){if (getChildren == null){throw new ArgumentNullException(nameof(getChildren));}var nodeStack = new Stack<T>();nodeStack.Push(root);while (nodeStack.Count != 0){var node = nodeStack.Pop();foreac...

c# – 是否可以在不使用Skip或Take的情况下使用指定的起始元素迭代集合?【代码】

如果我有如下集合: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 是否可以按正常顺序迭代这些元素,但是从特定元素开始?我不想留下任何东西,因此,收集对于保持不变是很重要的.但是对于中间步骤,我需要按以下顺序收集与这些元素相关的信息:0,15,14(也按递减顺序迭代,从0开始,然后回绕到15和14然后,按此顺序)? 也许foreach循环对我不起作用,但我很难确定一种最有效地做到这一点的方法. 澄清: 使用List< int>类型的任何int集合保证我有...