Tag: .net 2.0

如何从数组中删除元素

嗨,我正在研究一些遗留代码 for(int i = results.Count-1; i >= 0; i–) { if(someCondition) { results.Remove(results[i]); } } 对我来说,在迭代循环的同时删除元素似乎是不好的做法,因为你将修改索引。 这是正确的假设吗? 有更好的方法吗? 我想使用LINQ,但我在2.0 Framework中

如何在文本框中添加红线(如Word中的拼写错误)?

如何在拼写错误的单词下产生红线的效果,如下图所示: 替代文字http://img505.imageshack.us/img505/7253/options285x395rg9.th.png 更新 我不想使用谷歌或任何拼写程序。 我想知道如何创建红线的效果。

StringBuilder.ToString()抛出OutOfMemoryException

我有一个长度为“132370292”的StringBuilder ,当我尝试使用ToString()方法获取字符串时,它会抛出OutOfMemoryException 。 StringBuilder SB = new StringBuilder(); for(int i =0; i<=5000; i++) { SB.Append("Some Junk Data for testing. My Actual Data is created from different sources by Appending to the String Builder."); } try { string str = SB.ToString(); // Throws OOM mostly Console.WriteLine("String Created Successfully"); } catch(OutOfMemoryException ex) { StreamWriter sw = new […]

有没有办法公开强类型资源文件(而不是内部)?

这是我想做的事情: 我想创建一个包含我的资源文件的库项目(即UI标签和诸如此类的东西)。 我想在我的UI和测试中使用资源库。 (即,我从多个项目中引用的资源基本上都有一个共同的位置。) 不幸的是,因为StronglyTypedResourceBuilder(生成资源代码的.Net类)默认使资源文件成为内部资源,所以我不能从另一个项目(即我的UI或测试)中引用我的强类型资源,而不会跳转通过箍(即类似于此处描述的内容,或编写公共包装类/函数)。 不幸的是,这两种解决方案都使我无法保持强类型的引用。 有没有人找到一种直接的方法来创建可以从多个项目中引用的强类型.Net资源? 我宁愿避免使用构建事件来实现这一点(即,做一些事情,比如将’internal’的所有实例替换为’public’,但如果我找不到,那基本上就是我的后备计划一个答案..

将xml文档拆分为块

我有一个大型的xml文档,需要一次处理100条记录 它是在用c#编写的Windows服务中完成的。 结构如下: 2008-10-13 050758023 sddsf dsfd sdf sdfsdd sdfdsfdf dffddf 2008-10-13 050758023 sddsf dsfd sdf sdfsdd sdfdsfdf dffddf ….. ….. 在一个案卷中可能会有成千上万的订单。 我需要将其切成100个元素块 但是,100个订单中的每一个仍然需要用父“docket”节点包装并具有相同的命名空间等 这可能吗?

从ADO.NET确定SQL Server的版本

我需要确定连接字符串连接C#控制台应用程序(.NET 2.0)的SQL Server版本(在此特定情况下为2000,2005或2008)。 任何人都可以就此提供任何指导吗? 谢谢,MagicAndi 更新 我希望能够在可能的情况下确定ADO.NET连接对象的SQL Server版本。

获取硬件信息

如何使用c#代码获取系统的硬件信息?

比较数据集或更好的主意

如何比较一个数据集的值与另一个数据集的值。 第一个数据集 [“正确的记录”]来自SQL Server的列名 [id], [subsNumber] 第二个数据集 [“正确和不恰当的记录”]来自进度数据库,除了1之外的其他列是subsNumber 如何使用来自[“正确记录”]的所有[subsNumber]另一个数据集与来自第二个数据集[“正确的不正确记录”]的匹配记录? 要么 删除第2个数据集中的所有记录[“正确和不正确的记录”],这些记录与第1个数据集中的“subsNumber”列不匹配 或任何其他想法 基本上如何从第二个数据集中获取与第一个数据集具有相同“subsNumber”的所有记录

匿名方法和委托

我试图理解为什么BeginInvoke方法不接受匿名方法。 void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { if (InvokeRequired) { //Won’t compile BeginInvoke(delegate(object sender, ProgressChangedEventArgs e) { bgWorker_ProgressChanged(sender, e); }); } progressBar1.Increment(e.ProgressPercentage); } 它告诉我’无法从’匿名方法’转换为’System.Delegate’,而当我将匿名方法转换为委托时,它确实有效吗? BeginInvoke((progressDelegate)delegate { bgWorker_ProgressChanged(sender, e); });

什么是暂停和恢复线程的替代方法?

自.NET 2.0以来, Thread.Suspend()和Thread.Resume()这两个方法已经过时了。 为什么? 什么是其他替代品和任何例子?