【2.1 C#语法的学习(一) && 循环】教程文章相关的互联网学习教程文章

c# – 当多线程时,循环索引超出范围ArgumentOutOfRangeException【代码】

我得到了一些奇怪的行为……当我在ThreadTest方法中迭代dummyText List时,我得到一个超出范围异常的索引(ArgumentOutOfRangeException),但是如果我删除了线程并且我只是打印出文本,那么一切正常精细. 这是我的主要方法:public static Object sync = new Object(); static void Main(string[] args) {ThreadTest();Console.WriteLine("Press any key to continue.");Console.ReadKey(); }此方法抛出异常:private static void Thre...

c# – 使用LINQ而不是使用for-each循环【代码】

我有以下代码.如何将其转换为LINQ?任何人请帮助我. 在下面的代码中,’powd’包含db值,purchaseOrderUpdateRequest包含用户提交的数据.bool hasUpdate;foreach (var item in purchaseOrderUpdateRequest.Lines) {var line = powd.PurchaseOrderLines.Single(p => p.ItemNumber == item.ItemNumber);decimal quantityToReceive = item.QuantityReceived - line.QuantityReceivedToDate;if (quantityToReceive > 0){hasUpdate =true...

c# – 如何循环地循环窗口表单对象【代码】

我的C#应用??程序上有一些webBrowsers,实际上我有10. webBrowser0,webBrowser1,webBrowser2等等. 无论如何,我正在执行一个循环来计算每个屏幕以在我拥有的每个屏幕上放置webBrowser,这一切都很容易完成,但在我的循环中,如果有这样的东西.for (index = 0; index <= totalScreens; index++) {if (index == 0) { webBrowser0.Width = x; webBrowser0.Height = x; }if (index == 1) { webBrowser1.Width = x; webBrowser1.Height = x; ...

c# – 循环列表的更好方法【代码】

所以我有几个不同的列表,我正在尝试处理并合并到1个列表中. 下面是一段代码,我想看看是否有更好的方法.我之所以要问的是,其中一些列表相当大.我想看看是否有更有效的方法来做到这一点. 正如您所看到的,我正在遍历列表,我要做的第一件事就是检查列表中是否存在CompanyId.如果是,那么我在列表中找到我要处理的项目. pList是我的processign列表.我将不同列表中的值添加到此列表中. 我想知道是否有一种“更好的方式”来完成存在和发现....

c# – 更新没有Foreach循环的单列列表【代码】

我有一个清单List<Myclass> li = new List<Myclass> ();Myclass的地方public class Myclass {public string ExamName { get; set; }public Nullable<decimal> Marks { get; set; }public Nullable<decimal> OutOfMarks { get; set; }public string GradeMarks { get; set; }public Nullable<decimal> markEaxmTotalOverAll { get; set; }public Nullable<decimal> MarksExamTotalMarksTypeWise { get; set; }public Nullable<decim...

c# – 在foreach循环中的Resharper,linq【代码】

在底部示例中,Resharper建议使用顶部示例.但是我的印象是首先会创建一个新的项目列表,因此所有_executeFuncs都将在调用runstoredprocedure之前运行. 这通常不是问题,但是容易发生异常,如果我的假设是正确的,那么尽管已经运行了函数,我的数据库也不会更新?foreach (var result in rows.Select(row => _executeFunc(row))){ RunStoredProcedure(result)}要么foreach(var row in rows){var result = _executeFunc(...

c# – 如何在循环期间更改字典的值【代码】

如何修改Dictionary中的值?我想在我的字典中循环一个值,同时在我的字典上循环,如下所示:for (int i = 0; i < dtParams.Count; i++) {dtParams.Values.ElementAt(i).Replace("'", "''"); }其中dtParams是我的词典 我想做一些像这样的事情:string a = "car"; a = a.Replace("r","t");解决方法:字符串Replace函数返回一个新的修改后的字符串,因此您必须执行以下操作:foreach (var key in dtParams.Keys.ToArray()) {dtParams[...

c# – 循环双引号但忽略单引号中的双引号【代码】

我有我认为是逻辑问题.我在C#编码,但欢迎使用一般的伪代码解决方案. 我有这个文本文件,包含,例如,这个文本:blah "hello john" blah 'the code is "flower" ' blah "good night"我想循环使用双引号并对它们做一些事情,但我想忽略单引号中包含的双引号.我得到开头双引号和结束双引号的位置(包含文本文件内容的字符串数据): C#// Start searching from beginning int quotestart = 0, quoteend = 0;while (data.IndexOf('"', quotes...

c# – 使用foreach(…)语法,同时在循环内增加索引变量【代码】

在查看C#代码时,我经常会看到这样的模式:DataType[] items = GetSomeItems(); OtherDataType[] itemProps = new OtherDataType[items.Length];int i = 0; foreach (DataType item in items) {// Do some stuff with item, then finallyitemProps[i] = item.Prop;i++; }for循环遍历项目中的对象,但也保持计数器(i)以迭代itemProps.我个人不喜欢这种额外的闲逛,而是可能做的事情如下:DataType[] items = GetSomeItems(); OtherData...

c# – 枚举器问题,有什么方法可以避免两个循环?【代码】

我有一个第三方api,它有一个类,它返回类中不同项的枚举器. 我需要删除该枚举器中的项目,因此我不能使用“for each”.我能想到的唯一选择是通过遍历枚举来获取计数,然后运行正常的for循环来删除项目. 有人知道避免这两个循环的方法吗? 谢谢 [更新]抱歉混淆,但安德烈在评论中是正确的. 这是我脑子里的一些伪代码无法正常工作,我正在寻找一个不会涉及两个循环的解决方案,但我想这是不可能的:for each (myProperty in MyProperty) { ...

使用foreach循环为c#中的两个列表创建列表值【代码】

List<String> listA = new List<string> { "A1", "A2" }; List<String> listB = new List<string> { "B1", "B2" };for(int i = 0; i < listA.Count; i++) {text += listA[i] + " and " + listB[i]; }如何使用foreach循环执行此操作?解决方法:您可以使用Linq和Zip方法:List<String> listA = new List<string> { "A1", "A2" }; List<String> listB = new List<string> { "B1", "B2" };foreach (var pair in listA.Zip(listB, (a,b)...

c# – 如何创建winform登录对话框并保持循环【代码】

创建一个登录表单,如果凭据正确,将继续进入主表单.这是基本的伪代码:ShowLoginForm()if (DialogResult == OK)CheckCredentials();if (credentials == VALID)ShowMainForm();elseLoopBackAndShowLoginFormAgain(); //repeat process... elseCloseLoginForm();但是,我对WinForms相对较新,并且还在搞清楚它.我正在尝试决定将循环放在哪里(Main()或LoginForm中的某个地方).我应该在哪里检查凭证?这是我到目前为止:static void Main...

c# – System.IO.StreamWriter不会为整个for循环写入【代码】

我试图在C#中为一个文件编写一长串数字,但它会在列表结尾之前停止.例如,以下代码:System.IO.StreamWriter file = new System.IO.StreamWriter("D:\\test.txt");for (int i = 0; i < 500; i++){file.WriteLine(i);}给我留下一个列出数字0到431的文本文件.将500改为1000可以得到0到840.它似乎总是在循环结束之前停止写入.将数字输出到控制台以及文件成功提供控制台中的完整列表,但不是文件.解决方法:您需要在退出程序之前关闭编写器...

c# – 无法在循环中多次添加日期【代码】

我在选定的索引上有这个代码更改了一个表示月份的下拉列表.DateTime firstDate, lastDate;int mon = DropDownList1.SelectedIndex +1;int year = 2013;GetDates(mon, year,out firstDate , out lastDate);DateTime f = firstDate;DateTime d2 = firstDate.AddDays(7);for (;d2.Month == mon; ){d2.AddDays(7); // value after first iteration is "08-Apr-13 12:00:00 AM"// but beyond first iteration the value remains the...

c# – 同一程序集中的自引用类或循环引用类如何成功编译【代码】

我想知道C#和.Net编译器如何能够在同一个程序集中成功编译自引用类或循环引用类. 请考虑以下代码存在于同一程序集中.class X{ X x; } class Y{ Z z; } class Z{ Y y; }当然,这段代码编译成功.但是怎么样?我想知道编译器是如何在这些情况下第一次解析类的.例如,当编译器遇到类Y时,它还不知道类Z.如何在Y类中解析子属性z?请解释编译代码时后台究竟发生了什么.可能是关于编译器如何解析类和类型的一些合适的文章解决方法:正如this文...