10 如何通过.NET / C#查找CPU内核数? 是否可以通过.NET / C#找出CPU内核数? PS:这是一个直接的代码问题,而不是“我应该使用多线程吗?” 题!:-) 317 c# .net cpu-cores
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仅在超时的情况下被调用。 … 315 c# .net artificial-intelligence
17 在C#中嵌套using语句 我正在做一个项目。我必须比较两个文件的内容,看看它们是否完全匹配。 在进行大量错误检查和验证之前,我的第一稿是: DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory + "\\TestArea\\"); FileInfo[] files = di.GetFiles(filename + ".*"); FileInfo outputFile = files.Where(f => f.Extension == ".out").Single<FileInfo>(); FileInfo expectedFile = files.Where(f => f.Extension == ".exp").Single <FileInfo>(); using (StreamReader outFile = new StreamReader(outputFile.OpenRead())) { using (StreamReader expFile = new StreamReader(expectedFile.OpenRead())) { while (!(outFile.EndOfStream || expFile.EndOfStream)) … 315 c# .net file using
9 如何对Windows Form单选按钮进行分组? 如何在Windows Form应用程序中对单选按钮进行分组(非常类似于ASP.NET的radiobuttonlist!)? 因此,我可以在从选项中选择的每种情况之间切换。 315 c# .net winforms radio-button
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 <--- never completes /api/test6 此处的每个端点都返回相同的数据(来自stackoverflow.com的响应头),但/api/test5永远不会完成。 我是否在HttpClient类中遇到错误,还是我在某种程度上滥用了API? 复制代码: public class BaseApiController : ApiController { /// <summary> /// Retrieves data using continuations /// </summary> protected Task<string> Continuations_GetSomeDataAsync() { var httpClient = new HttpClient(); var … 315 c# .net asynchronous async-await dotnet-httpclient
17 Mono准备好迎接黄金时间了吗?[关闭] 已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 改善这个问题 是否有人在大型或中型项目上使用过开源的.NET实现Mono?我想知道它是否已准备好用于现实世界的生产环境。它稳定,快速,兼容...足以使用吗?将项目移植到Mono运行时是否需要花费很多精力,或者是否真的,真的足够兼容以仅接受并运行Microsoft的运行时已编写的代码? 314 .net open-source mono
8 如何在不使用System.Web的情况下进行UrlEncode? 我试图编写一个Windows客户端应用程序,该应用程序调用网站以获取数据。为了尽量减少安装,我尝试仅使用.NET Framework Client Profile中的dll。问题是我需要对一些参数进行UrlEncode编码,是否有一种简单的方法可以在不导入不属于客户端Pofile的System.Web.dll的情况下执行此操作? 310 c# .net urlencode .net-client-profile
11 您是否需要处置对象并将其设置为null? 您是否需要处置对象并将其设置为null,还是当垃圾回收器超出范围时清理它们? 310 c# .net garbage-collection dispose
3 Visual Studio跳至下一个错误快捷方式? 当在Visual Studio 2008中的VB.NET中编译失败时,错误列表将在屏幕底部弹出。要跳转到错误,我双击错误列表中的错误。 是否有快捷方式可以自动跳转到列表中的下一个错误?有时必须向下浏览并双击一个我想保持折叠状态的列表时,它会变得有些乏味。 307 .net vb.net visual-studio ide
15 是否有不区分大小写的替代string.Replace的字符串? 我需要搜索一个字符串,%FirstName%并%PolicyAmount%用从数据库中提取的值替换所有出现的和。问题是FirstName的大小写不同。那使我无法使用该String.Replace()方法。我看过有关该主题的网页 Regex.Replace(strInput, strToken, strReplaceWith, RegexOptions.IgnoreCase); 但是由于某种原因,当我尝试用替换%PolicyAmount%时$0,替换从未发生。我认为它与正则表达式中的保留字符美元符号有关。 我是否可以使用另一种方法,而不涉及对输入进行处理以处理正则表达式特殊字符? 306 c# .net string .net-2.0 replace
9 Process.start:如何获取输出? 我想从我的Mono / .NET应用程序运行一个外部命令行程序。例如,我想运行mencoder。可能吗: 要获取命令行shell输出,并将其写在我的文本框中? 要获取数值以显示经过时间的进度条? 306 c# .net mono process.start
10 如何在不丢失C#中的堆栈跟踪的情况下抛出InnerException? 我通过反射调用可能导致异常的方法。在没有包装反射的情况下,如何将异常传递给调用者? 我抛出了InnerException,但这破坏了堆栈跟踪。 示例代码: public void test1() { // Throw an exception for testing purposes throw new ArgumentException("test1"); } void test2() { try { MethodInfo mi = typeof(Program).GetMethod("test1"); mi.Invoke(this, null); } catch (TargetInvocationException tiex) { // Throw the new exception throw tiex.InnerException; } } 305 c# .net exception
12 我无法使用Google chrome加载资源:net :: ERR_BLOCKED_BY_CLIENT 运行项目后,我得到的是白页,但它与.net Client正常工作。我需要在浏览器中进行任何设置吗?并且链接将在错误后出现 Failed to load resource: net::ERR_BLOCKED_BY_CLIENT http://clkmon.com/adServe/getTag?cid=200093510300000000&pid=CRSRDR&type=inject Failed to load resource: net::ERR_BLOCKED_BY_CLIENT http://ads.626apps.com/a.php?626ref2=200093510300000000&626Name=Plus-HD-4.9&626ref3=B41A77C1675040A28F7E209964620E5EIE&626ref1=63726f73737269646572 305 c# .net