草庐IT

software-collections

全部标签

windows - 缺少注册表 HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7

在将我的机器单独放置几周后,我回来做一些使用Qt-using-VC10的工作。麻烦的第一个迹象是QtCreator关于“cl”未被识别的错误,这让我发现C:\Windows\System32不知何故已从PATH中删除。无法识别“reg”命令导致vcvarsall.bat无法设置VS100COMNTOOLS,如所述here.上述线程将我引导至this,建议简单地将C:\Windows\System32添加回PATH。然而,我的麻烦还没有结束。一旦C:\ProgramFiles(x86)\MicrosoftVisualStudio10.0\VC\vcvars32.bat(由vcvarsal

c# - 无法使用集合初始值设定项实现类型 XYZ,因为它不实现 'System.Collections.IEnumerable'

我有以下类(class):publicclassCommentList{stringItemType;stringComment1;stringStatus1;stringDiscussionBoardId;GuidCourseId;GuidCommentID;}我正在尝试执行以下LINQ语句:Listquery=fromcindb.Commentsjoinsindb.Statusonc.StatusIdequalss.StatusIdjoindindb.DiscussionBoardsonc.DiscussionBoardIdequalsd.DiscussionBoardIdwher

c# - 我可以遍历 Collection.Request.Form 吗?

我有一些具有唯一ID的复选框。是否可以在一个表单集合中找到所有的checkbox+uniquenum?有点像-foreach(variteminCollection.Request.Form["checkbox"+withUniqueIDNum]){//code} 最佳答案 没有。相反,您可以遍历所有键,并检查它们是否以checkbox开头。例如:foreach(stringkeyinRequest.Form){if(!key.StartsWith("checkbox"))continue;...}NameValueCollecti

c# - 第三方库中麻烦的 GC.collect() 调用

在分析我的应用程序(C#、.NET4)时,我注意到我正在使用的第三方库显式调用了GC.Collect()。这非常烦人,因为它有时会对我的应用程序性能产生巨大影响,因为对该库的一些调用最终会陷入巨大的循环:花在GC.Collect上的时间占总执行时间的80%以上。当然,我向库维护者报告了这种行为(库不是开源的),但是当他们正在开发新版本时,我想优化我的应用程序。我能做什么?我尝试通过将GCSettings.LatencyMode设置为GCLatencyMode.LowLatency来配置GC(当然,仅在执行库调用期间),但无济于事。我宁愿避免fork我的过程。有什么想法吗?

c# - .NET 4.0 System.Collections.Concurrent 集合在 .NET 3.0 SynchronizedCollection 的功能中添加了什么?

.NET4.0引入了System.Collections.Concurrent命名空间:"TheSystem.Collections.Concurrentnamespaceprovidesseveralthread-safecollectionclassesthatshouldbeusedinplaceofthecorrespondingtypesintheSystem.CollectionsandSystem.Collections.Genericnamespaceswhenevermultiplethreadsareaccessingthecollectionconcurrentl

c# - HKLM\Software 下的 OpenSubKey 返回 null

这是我的代码:Microsoft.Win32.RegistryKeykey=Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\ADM");注册表项存在于机器上。键始终为空。我认为这不是安全问题。我以管理员身份运行。(我什至明确地在管理员模式下运行程序集)。我正在使用在Windows764位上运行的VisualStudio2010。 最佳答案 问题是我运行的是64位,而我的应用程序被编译为32位。正在读取的key:Microsoft.Win32.RegistryKe

c# - 具有泛型的对象类型中的 "apostrophe + number"是什么意思(例如 "Collection` 1")?

我有一个对象(MyObject)和一个属性(MyProperty)。我想获取它的类型名称(即String或MyClass等)。我使用:PropertyInfopropInfo=typeof(MyObject).GetProperty("MyProperty");Console.WriteLine(propInfo.PropertyType.Name);Console.WriteLine(propInfo.PropertyType.FullName);简单类型没问题,但当MyProperty是通用类型,我在获取它的名称时遇到问题(例如Collection)。它打印:Collection`

c# - 检查 Collection 中的所有项目是否具有相同的值

名为MeasurementCollection的集合的扩展方法检查每个项目的属性Template.Frequency(Enum)是否具有相同的值。publicstaticboolIsQuantized(thisMeasurementCollectionitems){return(fromiinitemsselecti.Template.Frequency).Distinct().Count()==1;}编辑关于底层类的信息MeasurementCollection:ICollectionIMeasurement{IMeasurementTemplateTemplate{get;}...

c# - 等于 System.Collections.Generic.List<T>... 的方法?

我正在创建一个派生自List的类...publicclassMyList:List{}我已经覆盖了MyListItem的Equals...publicoverrideboolEquals(objectobj){MyListItemli=objasMyListItem;return(ID==li.ID);//IDisapropertyofMyListItem}我也想在MyList对象中有一个Equals方法,它将比较列表中的每个项目,在每个MyListItem对象上调用Equals()。简单地调用...会很好MyListl1=newMyList(){newMyListItem(1),ne

c# - 可以锁定 System.Collections.Generic.List<t> 吗?

我一直在阅读有关syncroot元素的信息,但我在List类型中找不到它。那么System.Collections.Generic.List类型应该如何进行多线程同步呢? 最佳答案 你找不到它的原因是因为它是explicitlyremoved.如果它真的是你想做的,使用SynchronizedCollection或者创建一个专用的同步对象。最好的方法(通常)是创建一个专用的同步对象,正如Winston所说明的那样。SyncRoot的本质问题特性是它提供了一种错误的安全感——它只能处理非常有限的情况。开发人员经常忽略整个逻辑操作的同步