草庐IT

c# - list.count 是在物理上遍历列表来计算它,还是保留一个指针

我正在遍历一个大的对象列表来对列表中的所述对象做一些事情。在我的迭代过程中,我会根据特定条件从列表中删除一些对象。完成所有操作后,我需要根据列表中的对象数量更新UI。(T列表)。问题:WhenIcalllist.count,does.netactuallyiteratethroughthelisttocountit,ordoesitstorethecountasaproperty/variable?如果.net在物理上重复遍历列表,我也可以在自己遍历列表时保留一个计数器,从而节省开销?谢谢 最佳答案 它只是保留一个内部整数来跟踪项目

c# - 用例来理解为什么字符串列表应该被声明为只读

我试图了解哪些用例需要我将List声明为ReadOnly类型。与此相关的一个问题是:在实例化列表时分配了多少内存? 最佳答案 将字段标记为readonly的主要原因是为了让您知道常规代码不能交换列表引用。一个可能重要的关键场景是,如果您有其他代码在使用lock(theListField)对列表执行同步的类型中。.显然,如果有人交换列表实例:事情就会崩溃。请注意,在大多数具有列表/集合的类型中,预计不会更改实例,因此readonly断言这种期望。一个常见的模式是:privateList_items=newList();publicLi

c# - 学习什么是一种很好的编程语言来拓宽 C# 开发人员的思维?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter为指导。9年前关闭。我在看ThePragmaticProgrammer昨晚,它建议你在职业生涯中学习一整套语言——即使你永远不会使用它们。我一直认为这是个好主意,但这本书给了我足够的动力去认真思考它。它还提到(大意是这样)“学习面向对象的设计,你会以不同的方式编写纯C程序”。我可以去(重新)学习Java,但它似乎是一个简单的选择,因为它是一种与C#遵循许多相同原则的语言。我可能

c# - 有没有更好的方法来管理本地化字符串?

我在开发一款我们不得不担心本地化问题的产品。目前,这是我必须使用(或添加)本地化字符串时的工作流程:搜索resources.resx文件(有数百个项目)如果找到,则复制名称。否则,添加一个新字符串并复制名称然后,使用ResourceFactory.ResourceMgr.GetString("MY_MAGIC_STRING")(其中ResourceMgr只是ResourceManager的静态字段)对于任何字符串,这3个步骤的过程都非常痛苦。是否有任何模式或方法可以简化此过程? 最佳答案 可以访问每个单独字符串的自动生成的文件更易于

c# - 是否有一种通用的方法来同步异步方法?

我们有一个常见的场景,我们有一个方法异步执行一些操作并在完成时引发一个事件。有时我们希望它同步完成,所以我们的代码看起来类似于:ManualResetEventreset=newManualResetEvent(false);someobject.AsyncActionDone+=(sender,args)=>reset.Set();someobject.PerformAsyncAction();reset.WaitOne();有没有办法编写一个辅助方法来做到这一点?我可以传递要执行的操作,但我不确定如何传递让辅助方法知道要监听哪个事件的东西,因为它看起来不像你可以传递EventHan

c# - 开源/现有 C# 类来编写 GPX 文件? (C#)

我正在寻找C#库或类来帮助编写GPXfiles来self拥有的一组航路点(纬度/经度等)。我找到了quiteafewreaders-但不是为了写作。如果它在CompactFramework/WinMobile6.5上运行,则可加分-但这不是硬性要求。我可以让它在桌面上进行后处理-移动设备不必构建这些文件。有没有人知道一些或一种简单的写入文件的方法? 最佳答案 你看过OGL(OpenGPS-LBS)了吗??来自classdocs:ThisGPXclassprovideconvertsGPSdata(waypoints,routes,a

c# - 有没有更好的方法来创建多维强类型数据结构?

我需要一个多维数据结构,其中每个维度都是一个在设计时已知的小列表。在我程序的不同位置,我希望能够以强类型方式访问按不同维度“切片”的数据。我在下面放了一些示例代码,适用于使用嵌套界面的2D示例,但我想它在3D或4D中会变得非常可怕。正如@kvb指出的那样,所需的样板代码将呈指数级增长。谁有更好的建议?我的意思是,保持代码简单/简短/易于理解,同时仍然保留按照以下几行做事的能力:Dataa=newData(...)...SomeMethodThatOnlyCaresAboutRedThings(a.Red)//takesaIBySize...SomeMethodThatOnlyCares

c# - 我应该使用哪种方法来感知计算机在编程中的思考?

我想创建一个简单的游戏,例如tictactoe,让人类用户与计算机对战。计算机功能需要几毫秒才能运行,但我想给出计算机需要5秒才能移动的感觉。我应该使用哪种方法?1)创建两个内存线程。一种用于计算机,一种用于人类用户。当计算机用5秒模仿思考时,人类用户线程暂停5秒。2)使用计时器或调度器计时器禁用输入设备5秒3)你能想到的任何更好的方法..谢谢!编辑-问题是关于如何以及现在是为什么。5秒只是一个例子。我更喜欢1-2秒,但出于示例目的,我只选择了5秒。所以请关注执行此操作的最佳方法,而不是5秒。再次感谢。 最佳答案 噪音和闪烁的灯光=

c# - 良好的 C#.NET 解决方案来管理频繁的数据库轮询

我目前正在开发一个c#.NET桌面应用程序,它将通过WCF和WCF数据服务通过Internet与数据库进行通信。应用程序中会有很多地方可能需要每隔一段时间刷新一次。最简单的解决方案是将这些区域放在计时器上并重新查询数据库。然而,由于有成千上万的客户端连接到服务层并因此连接到数据库,这些操作对服务器来说将是非常昂贵的。我考虑的是创建一个由客户端轮询的RSS提要,并让客户端知道何时需要更新这些特定区域。RSS提要将由一项服务管理,该服务要么轮询数据库以获取更改,要么遍历由客户端发出的WCF请求排队的项目列表。我也考虑过从客户端到服务器创建一些直接和持续的连接,但我不确定从客户端打开哪些出站

c# - 指定使用哪些 DNS 服务器来解析 .NET 中的主机名

我想知道是否有任何方法可以强制System.Net.Dns类使用一组自定义DNS服务器而不是使用与主网络连接关联的服务器来解析主机名。我怀疑这只能使用像DnDns(http://dndns.codeplex.com)这样的自定义库,但我希望这可以在.NET中完成。 最佳答案 不,这不能通过.NetFramework完成。Dns.Resolve方法依赖于内部Win32API,这些API依次通过与网络连接关联的DNS服务器。为了使其正常工作,您必须更改与网络适配器地址关联的DNS服务器。 关