Tag: 循环

在Windows窗体应用程序中永远循环

我正在使用Visual C#sand我使用的是Windows窗体而不是控制台应用程序。 因此,我不是在Main()中工作,而是在Form File中工作。 我对C#也很陌生,很抱歉,如果我的一些问题是愚蠢的。 我基本上需要做的是当我的程序启动时我需要它来永远循环。 由于我没有Main(),我会把这段代码放在哪里? 我把它放在具有InitializeComponent()的函数中吗? 我需要在程序启动后立即启动循环。 但是,我需要在循环之前首先声明一些变量。 所以基本上我需要声明变量然后开始无限循环。 变量是全局的。 其次,当用户按下按钮时,我需要无限循环中断。 我该怎么办? 我正在考虑以下几点: while (buttonIsPressed == false) { //do whatever I need to do } 但是,我意识到按钮的function永远不会被调用,因为我被困在那个循环中。 如果由于处于无限循环中而从未到达按钮的function,我无法从按钮的function设置变量。 有任何想法吗? 我正在考虑线程,但我绝对没有线程经验,所以有点不愿意尝试它。 另外,来自评论: 聊天应用程序。 程序启动时我需要它继续听。 但是,当用户单击“连接”时,它会停止侦听,而是启动连接 我正在创建一个聊天客户端。 所以基本上当我的程序启动时,我需要它继续听。 但是,当用户单击“连接”时,它需要停止侦听,而是启动连接

在C#中重新启动foreach循环?

如何在C#中重启foreach循环? 例如: Action a; foreach(Constrain c in Constrains) { if(!c.Allows(a)) { a.Change(); restart; } } 这里restart就像continue或break但它从开始重新启动foreach就像将for循环的计数器再次设置为0一样。 这可能在C#中吗? 编辑:我要感谢Mehrdad Afshari和Mahesh Velaga让我发现我当前实现中的一个错误(index = 0),否则就不会发现它。

C#中的并行迭代?

有没有办法在C#中对并行枚举进行foreach样式迭代? 对于可订阅列表,我知道可以使用常规for循环迭代索引范围内的int,但出于多种原因我更喜欢foreach 。 奖励积分如果它在C#2.0中有效

在C#中使用foreach循环时的内存分配

我知道关于foreach循环如何在C#中工作的基础知识( foreach循环如何在C#中工作 ) 我想知道是否使用foreach分配可能导致垃圾收集的内存? (适用于所有内置的系统类型)。 例如,在System.Collections.Generic.List类上使用Reflector,这里是GetEnumerator的实现: public Enumerator GetEnumerator() { return new Enumerator((List) this); } 在每次使用时,这会分配一个新的枚举器(以及更多的垃圾)。 所有类型都这样做吗? 如果是这样,为什么? (不能重用一个枚举器吗?)

为什么在将VB.NET代码迁移到C#时,’for’循环的行为会有所不同?

我正在将项目从Visual Basic迁移到C#,我不得不改变声明使用的for循环的方式。 在VB.NET中, for循环声明如下: Dim stringValue As String = “42” For i As Integer = 1 To 10 – stringValue.Length stringValue = stringValue & ” ” & CStr(i) Console.WriteLine(stringValue) Next 哪个输出: 42 1 42 1 2 42 1 2 3 42 1 2 3 4 42 1 2 3 4 5 42 1 2 3 […]

创建一个可以编辑60个TextBox名称的循环?

文本框set1 = 1到30 =在查询名称中= br1id到br30id 文本框设置2 = 1到30 =在结果输出中 我不明白如何基于30个不同的文本框名称创建一个循环? 我不能复制粘贴这些行30次编辑文本框名称,这看起来只是错误。 try { MySqlConnection mysqlCon = new MySqlConnection( “server= 195.159.253.229;” + “Database = bruker;” + “user id=bobby;” + “password=LoLOW###;”); MySqlCommand cmd1 = new MySqlCommand( “SELECT brukernavn From bruker where ID = ‘” + br1id.Text + “‘;”, mysqlCon); mysqlCon.Open(); navX[0] = cmd1.ExecuteScalar().ToString(); br1txt3.Text = navX[0]; }

C#停止BackgroundWorker

我对backgroundworker有疑问。 我在backgroundworker中有无限循环。 我怎么能阻止它?

如何在控制台应用程序中添加c#登录尝试循环?

我是这种语言的新手,我尝试过但无法弄清楚如何设置登录循环以使用最大值的登录尝试。 3次。 有人可以帮帮我吗? static void Main(string[] args) { Console.WriteLine(“Status: ” + status.Onaangemeld); Console.WriteLine(“Welkom, typ hieronder het gebruikersnaam:”); string Naam = Console.ReadLine(); Console.WriteLine(“Vul hieronder het wachtwoord in:”); string Wachtwoord = Console.ReadLine(); if (Naam == “gebruiker” && Wachtwoord == “SHARPSOUND”) { Console.Clear(); Console.WriteLine(“Status: ” + status.Ingelogd); Console.WriteLine(“Welkom bij SoundSharp {0}!”, Naam); Console.ReadLine(); } else Console.Clear(); Console.WriteLine(“Helaas, gebruikersnaam […]

使用哪个循环,for或do / while?

使用C#(或VB.NET)当需要计数器时,应该使用哪个循环(for循环或do / while循环)? 如果循环只应迭代一定次数或通过设定范围,它会有所不同吗? 场景A – for循环 for (int iLoop = 0; iLoop < int.MaxValue; iLoop++) { //Maybe do work here //Test criteria if (Criteria) { //Exit the loop break; } //Maybe do work here } 好处 计数器被声明为循环的一部分 易于实现计数器范围 缺点 必须使用if离开循环 场景B – do / while循环 int iLoop = 0; do { //Increment the counter […]

AutoMapper地图中foreach中的额外迭代

出于某种原因,我在AutoMapper地图定义中使用的循环迭代次数超过应有的范围。 地图定义: Mapper.CreateMap() .BeforeMap((s, d) => { foreach (var platId in s.PlatformIDs) { Platform newPlat = _gameRepository.GetPlatform(platId); d.Platforms.Add(newPlat); } }) .ForMember(dest => dest.BoxArtPath, opt => opt.Ignore()) .ForMember(dest => dest.IndexImagePath, opt => opt.Ignore()) .ForMember(dest => dest.Cons, opt => opt.MapFrom(src => String.Join(“|”, src.Cons))) .ForMember(dest => dest.Pros, opt => opt.MapFrom(src => String.Join(“|”, src.Pros))) .ForMember(dest => dest.LastModified, opt => […]