【C#异步文件传输 – 在继续循环之前等待】教程文章相关的互联网学习教程文章

c# – 并行执行使用异步的循环【代码】

我正在编写Windows服务,并且正在寻找一种并行执行多个foreach循环的方法,其中每个循环都调用异步(TAP)方法.我最初尝试了以下代码,但由于Parallel.ForEach和async / await不兼容,因此无效.有谁知道是否有替代方法可以实现这一目标?Parallel.ForEach(messagesByFromNumber, async messageGroup => {foreach (var message in messageGroup){await message.SendAsync();} });为了清楚起见,由于SendAsync()的运行方式,foreach循环的每个...

c# – 仅用于消息循环的WPF窗口句柄【代码】

我正在编写一个WPF应用程序,它将在系统托盘中放置一个图标,作为练习,我想这样做而不依赖于System.Windows.Forms并使用它的NotifyIcon或NativeWindow类. 这很容易 – 从C#调用Shell_NotifyIcon并不困难 – 事实上,我已经成功完成了我的任务. 作为这项工作的一部分,我不得不创建一个窗口句柄,其唯一目的是从系统托盘接收消息.我创建本机窗口如下:// Create a 'Native' window _hwndSource = new HwndSource(0, 0, 0, 0, 0, 0, 0, nu...

c# – 为什么无限循环不会将CPU使用率提高到100【代码】

当我使用空循环运行一个简单的c#程序时,我的CPU使用率从8-12%上升到24-20%,核心使用模式几乎相同.static void Main(string[] args){bool flag = true;while(flag){}}谁能解释一下这种行为.我预计此时核心使用率将达到100%. 更新:我正在使用八核机器和总CPU使用率(总计所有核心使用率)达到25%.每个核心(留下第一个核心)显示类似的使用模式(约为25%) 解决方法:因为它是单线程的.你可能有一个四核CPU.你很可能最大化单核心. 要完...

C#Linq查询帮助删除foreach循环创建更清晰的代码【代码】

有没有办法使用linq删除for循环来解决我的问题 我想获得每个学生和该列表中每个主题的主题和总分:IEnumerable<Student> students = new List<Student> {new Student() {Id = 1, Name = "John", Age = 13},new Student() {Id = 2, Name = "Mary", Age = 12},new Student() {Id = 3, Name = "Anne", Age = 14} };我有第二个列表,其中包含所有分数和主题信息:IEnumerable<StudentScore> studentScores = new List<StudentScore> {ne...

c# – Xamarin入口控制TextChanged事件循环【代码】

在我的表格上,我有3个输入控件.我正在尝试使用以下验证规则验证“年龄”控件: >不能输入超过3位数>不能输入小数位(.)>不能输入连字符( – ) 为此,我将控件的’TextChanged’属性设置为TextChanged="OnAgeTextChanged"我的OnAgeTextChanged方法是:private void OnAgeTextChanged(object sender, TextChangedEventArgs e){var entry = (Entry)sender;try{if (entry.Text.Length > 3){string entryText = entry.Text;entry.TextChan...

c# – 根据for循环位置创建Dictionary的键【代码】

我要去一个目录拿起一些文件,然后将它们添加到一个字典中. 第一次在循环中,键需要是A,第二次是B等.在26 / Z处,数字表示不同的字符,从33开始,它以小写字母a开始,最多为49,即小写q. 没有大量的if声明,如果我= = 1然后Key是’A’等等我怎么能保持这个代码整洁?解决方法:听起来你只需要保留你所到之处的索引,然后是一些映射函数:int index = 0; foreach (...) {...string key = MapIndexToKey(index);dictionary[key] = value;index+...

c# – .NET MVC 3如何循环模型状态错误并强制ModelState.Valid或禁用特定错误?【代码】

我正在使用MVC 3不引人注意的验证. 对于某些领域,我也使用远程验证;在远程验证中,我做了一些可以返回错误或只是警告的检查(我想利用ajax验证只是为了发出警告,而不仅仅是阻止错误).我通过描述文本中的“Info”前缀通过验证错误区分警告. 那么,是否存在循环所有验证错误的方法,仅显示警告并根据显示的文本设置错误? 我正在考虑使用ActionFilterAttribute,或者在循环并检查所有验证错误后强制ModelState.Valid = true … 这是我的远...

c# – Parallel.For循环冻结【代码】

我试图在并行中向DataTable添加一些信息,但是如果循环是长时间它会冻结或者只需要花费很多时间,那么通常的循环时间会更多,这是我的Parallel.For循环代码:Parallel.For(1, linii.Length, index =>{DataRow drRow = dtResult.NewRow();alResult = CSVParser(linii[index], txtDelimiter, txtQualifier);for (int i = 0; i < alResult.Count; i++){drRow[i] = alResult[i];}dtResult.Rows.Add(drRow);});怎么了?这个Parallel.For循环...

c# – 为什么我的While循环不循环?【代码】

好吧,我从我能想到的每一个角度尝试过这个,我认为我按照惯例过度复杂化了! 我正在构建一个控制台c#应用程序,它将要求用户输入所购买商品的价格,然后根据此客户代码输入“客户代码”,将应用某个折扣. 我为此使用了一个switch语句,它都与错误检查一起工作(使用while循环继续询问,直到识别出正确的输入)这是最后一部分我正在努力…控制台询问用户他们是否愿意如果用户输入了错误的输入,则根据需要再输入更多数据(跳回主循环的开头),如...

c# – 在没有延迟的情况下循环放入剪贴板【代码】

我正在使用以下代码将文本复制到剪贴板.System.Windows.Forms.SendKeys.SendWait("^c");然后我用Clipboard.GetText()从剪贴板中获取文本.它运行正常,但是当我在循环中使用剪贴板时它看起来像是在延迟,我得到的内容应该被下一个复制的文本覆盖.如果我把Thread.sleep,它工作正常.我怎么能快速复制并从一个循环中获取正确的内容,没有延迟?解决方法:这似乎是一个记录在案的问题. MSDN承认“时间问题”,但不包括完全绕过它们的方法,尽管...

c# – const enum的最佳实践命名约定,避免循环定义【代码】

这有点像duplicate question,但没有真正的解决方案. 所以我们走了.让我们说:public enum Color {Red,Blue,Green }public class BlueUnicorn {private const Color Color = Color.Blue; }>“对大多数枚举类型使用单数名称,但对位字段的枚举类型使用复数名称.”从Microsoft’s Enumeration Type Naming Guidelines检查检查!>“考虑给一个与其类型同名的财产.”从Microsoft’s Names of Type Members年开始校验!>根据Resharper Che...

c# – 通过字典循环是否有“更好”或“更好”的方式【代码】

我循环遍历字符串列表,以查看该字符串是否包含在字典的值中,然后尝试从该值中删除该字符串. 目前我这样做:Dictionary<String, String> formValues = new Dictionary<String, String>(); formValues["key1"] = "the something at"; formValues["key2"] = "the something on"; formValues["key3"] = "the something is";string prepositionList = "at,as,if,of,the,to,a,an,it,is,by,its"; List<string> prepositionListValues = ne...

c# – 是否可以在Asp.NET剃刀代码中嵌套foreach循环?【代码】

我有以下代码,其中我想有一个内部foreach循环,但代码不会添加内部循环编译.任何帮助将不胜感激.foreach (var answer in q.Answers) {<input type="checkbox" name="AnswerDetails" value="@answer.AnswerText" data-answerid="@answer.Id">@answer.AnswerText<br />foreach (var research in @answer.ResearchSet){@:<p>@research.Image</p>} }解决方法: @foreach (var answer in q.Answers) {<input type="checkbox" name="Answer...

c# – 在Foreach循环中默认选中设置RadioButtonFor()【代码】

我使用@ Html.RadioButtonFor扩展方法有一个奇怪的行为.我正在使用foreach循环来创建RadioButton和By三元运算符列表.我试图设置一个尊重条件的人来检查,但它总是最后一个被检查.我搜索了类似的问题,但我不确定是否找到了什么.而且我不想创建/使用自定义的RadioButtonList. 在我的视图中我的代码:@foreach (var item in Model.Entities){<div>@Html.RadioButtonFor(m => item.Default, item.EntityId,new { @checked = item.Defaul...

c# – 循环中无法访问的对象的垃圾收集【代码】

如果我有这样的循环:public class Foo {public Foo Foo;public Foo() {} }class Program {public static void Main(string[] args) {var foo = new Foo();long i = 0;while(i < Int64.MaxValue) {foo.Foo = new Foo();foo = foo.Foo;if(i % 10000 == 0)GC.Collect();i++;}GC.Collect();} }在退出循环之前,垃圾收集器不会清除父对象.这是为什么?一旦foo被重新分配,我没有看到任何方法从代码中引用它们,所以不应该清理它们吗? 在传...

文件传输 - 相关标签