Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。


8
逐行读取文本文件的最快方法是什么?
我想逐行阅读文本文件。我想知道我是否在.NET C#范围内尽可能高效地执行此操作。 到目前为止,这是我正在尝试的方法: var filestream = new System.IO.FileStream(textFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite); var file = new System.IO.StreamReader(filestream, System.Text.Encoding.UTF8, true, 128); while ((lineOfText = file.ReadLine()) != null) { //Do something with the lineOfText }

19
有没有一种简单的方法可以将字符串重复X次?
我正在尝试根据项目深度在字符串之前插入一定数量的缩进,并且我想知道是否有办法返回重复X次的字符串。例: string indent = "---"; Console.WriteLine(indent.Repeat(0)); //would print nothing. Console.WriteLine(indent.Repeat(1)); //would print "---". Console.WriteLine(indent.Repeat(2)); //would print "------". Console.WriteLine(indent.Repeat(3)); //would print "---------".
318 c#  .net 

17
类型或名称空间名称不存在
关闭。这个问题需要调试细节。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 我有一个使用Visual Studio 2010构建的WCF数据服务项目,该项目运行良好。突然之间,它不再编译了。它给我的信息是: 错误7类型或名称空间名称'服务'在名称空间'System.Data'中不存在(您是否缺少程序集引用?)C:\ U ... s \ Visual Studio 2010 \ Projects ... \ DataService。 CS ... 错误8类型或名称空间名称'Linq'在名称空间'System'中不存在(您是否缺少程序集引用?)DependencyResolver.cs 3 14 错误10类型或名称空间名称'Web'在名称空间'System.ServiceModel'中不存在(您是否缺少程序集引用?) 错误12找不到类型或名称空间名称'DataService'(您是否缺少using指令或程序集引用?) 我该如何解决?

19
读取CSV文件并将值存储到数组中
我正在尝试读取*.csv-file。 - *.csv文件由用分号(“ ; ”)分隔的两列组成。 我能够*.csv使用StreamReader 读取-file,并能够通过使用Split()函数来分隔每一行。我想将每一列存储到一个单独的数组中,然后显示它。 有可能这样做吗?
317 c#  .net  arrays  csv 

19
从IEnumerable <T>计算项目而不进行迭代?
private IEnumerable&lt;string&gt; Tables { get { yield return "Foo"; yield return "Bar"; } } 假设我要在这些对象上进行迭代并编写类似处理#m的#n的内容。 有没有一种方法可以在我的主迭代之前不进行迭代就找出m的值? 我希望我能说清楚。
317 c#  .net  ienumerable 

2
何时正确使用Task.Run以及何时仅异步等待
我想问您关于何时使用正确的体系结构的意见Task.Run。我在WPF .NET 4.5应用程序(使用Caliburn Micro框架)中遇到了滞后的UI。 基本上我在做(非常简化的代码片段): public class PageViewModel : IHandle&lt;SomeMessage&gt; { ... public async void Handle(SomeMessage message) { ShowLoadingAnimation(); // Makes UI very laggy, but still not dead await this.contentLoader.LoadContentAsync(); HideLoadingAnimation(); } } public class ContentLoader { public async Task LoadContentAsync() { await DoCpuBoundWorkAsync(); await DoIoBoundWorkAsync(); await DoCpuBoundWorkAsync(); // I …



3
访问修改后的闭包
string [] files = new string[2]; files[0] = "ThinkFarAhead.Example.Settings.Configuration_Local.xml"; files[1] = "ThinkFarAhead.Example.Settings.Configuration_Global.xml"; //Resharper complains this is an "access to modified closure" for (int i = 0; i &lt; files.Length; i++ ) { // Resharper disable AccessToModifiedClosure if(Array.Exists(Assembly.GetExecutingAssembly().GetManifestResourceNames(), delegate(string name) { return name.Equals(files[i]); })) return Assembly.GetExecutingAssembly().GetManifestResourceStream(files[i]); // ReSharper restore AccessToModifiedClosure } …
316 c#  resharper  closures 

25
最好的战舰AI是什么?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 战舰! 早在2003年(那时我才17岁),我参加了一个Battleship AI编码竞赛。即使我输掉了比赛,我仍然从中获得很多乐趣并从中学到了很多。 现在,我想复活这场比赛,以寻找最好的战舰AI。 这是框架,现在托管在Bitbucket上。 获胜者将获得+450声望!比赛将于2009年11月17日开始。17日晚零时之前不接受任何输入或编辑。(中部标准时间)尽早提交参赛作品,这样您就不会错过任何机会! 为了保持目标,请遵循比赛的精神。 游戏规则: 游戏在10x10的网格上进行。 每个参赛者将把5艘船(长度分别为2、3、3、4、5)放置在各自的网格上。 没有船可以重叠,但它们可以是相邻的。 然后,竞争对手轮流向对手射击。 游戏的一种变体允许每排射击多发,每艘幸存飞船射击一次。 如果击球落下,命中或未击中,对手将通知竞争对手。 任何一名玩家的全部船只沉没时,游戏结束。 比赛规则: 竞争的精神是找到最佳的战舰算法。 任何违反比赛精神的行为都将被取消参赛资格。 干扰对手是违反比赛精神的。 在以下限制下,可以使用多线程: 轮到您时,最多只能运行一个线程。(但是,任何数量的线程都可以处于“挂起”状态)。 除“正常”外,没有其他线程可以优先运行。 鉴于上述两个限制,在轮到您时,将确保至少有3个专用CPU内核。 每个游戏在主线程上分配给每个竞争者1秒的CPU时间限制。 时间用完会导致当前游戏失败。 任何未处理的异常都将导致当前游戏失败。 允许进行网络访问和磁盘访问,但是您可能会发现时间限制过高。但是,添加了一些设置和拆卸方法以减轻时间负担。 应将代码发布在堆栈溢出中作为答案,或者如果链接太大,则将其链接。 条目的最大总大小(未压缩)为1 MB。 正式地,.Net 2.0 / 3.5是唯一的框架要求。 您的条目必须实现IBattleshipOpponent接口。 得分: 101场比赛中最好的51场比赛是比赛的获胜者。 所有竞争对手将以循环赛的方式进行比赛。 然后,最好的一半竞争者将参加双重淘汰赛以确定获胜者。(实际上,两个的最小乘方大于或等于一半。) 我将在锦标赛中使用TournamentApi框架。 结果将发布在这里。 如果您提交了多个条目,则只有得分最高的条目才有资格获得双盲。 祝好运!玩得开心! 编辑1: 感谢Freed,他在Ship.IsValid函数中发现错误。已修复。请下载该框架的更新版本。 编辑2: 由于将统计信息持久保存到磁盘等方面引起了极大的兴趣,我添加了一些非定时的设置和拆除事件,这些事件应提供所需的功能。这是一个突破性的变化。这就是说:接口已被修改以添加功能,但是它们不需要任何主体。请下载该框架的更新版本。 编辑3: 错误修正1:GameWon并且GameLost仅在超时的情况下被调用。 …

17
在C#中嵌套using语句
我正在做一个项目。我必须比较两个文件的内容,看看它们是否完全匹配。 在进行大量错误检查和验证之前,我的第一稿是: DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory + "\\TestArea\\"); FileInfo[] files = di.GetFiles(filename + ".*"); FileInfo outputFile = files.Where(f =&gt; f.Extension == ".out").Single&lt;FileInfo&gt;(); FileInfo expectedFile = files.Where(f =&gt; f.Extension == ".exp").Single &lt;FileInfo&gt;(); using (StreamReader outFile = new StreamReader(outputFile.OpenRead())) { using (StreamReader expFile = new StreamReader(expectedFile.OpenRead())) { while (!(outFile.EndOfStream || expFile.EndOfStream)) …
315 c#  .net  file  using 


6
使用await / async时,HttpClient.GetAsync(...)从不返回
编辑: 这个问题看起来可能是相同的问题,但没有任何响应... 编辑:在测试用例5中,任务似乎停留在WaitingForActivation状态中。 我在.NET 4.5中使用System.Net.Http.HttpClient遇到了一些奇怪的行为-“等待”调用(例如)的结果httpClient.GetAsync(...)将永远不会返回。 仅在使用新的异步/等待语言功能和Tasks API的某些情况下会发生这种情况-仅使用延续时,代码似乎总是可以工作。 这是重现问题的一些代码-将其放入Visual Studio 11中的新“ MVC 4 WebApi项目”中,以暴露以下GET端点: /api/test1 /api/test2 /api/test3 /api/test4 /api/test5 &lt;--- never completes /api/test6 此处的每个端点都返回相同的数据(来自stackoverflow.com的响应头),但/api/test5永远不会完成。 我是否在HttpClient类中遇到错误,还是我在某种程度上滥用了API? 复制代码: public class BaseApiController : ApiController { /// &lt;summary&gt; /// Retrieves data using continuations /// &lt;/summary&gt; protected Task&lt;string&gt; Continuations_GetSomeDataAsync() { var httpClient = new HttpClient(); var …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.