Tag: .net 2.0

如何对FileInfo 数组进行排序

我有以下代码 DirectoryInfo taskDirectory = new DirectoryInfo(this.taskDirectoryPath); FileInfo[] taskFiles = taskDirectory.GetFiles(“*” + blah + “*.xml”); 我想按文件名对列表进行排序。 如何使用.net v2尽可能快速,轻松地完成此操作。

FIFO /队列缓冲区专门用于字节流

是否有任何.NET数据结构/类组合允许将字节数据附加到缓冲区的末尾,但所有的查找和读取都是从一开始,在我读取时缩短缓冲区? MemoryStream类似乎也是其中的一部分,但是我需要为读取和写入维护单独的位置,并且它在读取后不会自动丢弃数据。 答案已经回复了这个问题 ,这基本上就是我要做的事情,但我更喜欢我可以在同一个过程的不同组件中进行异步I / O,就像普通管道甚至是网络流(我需要先过滤/处理数据)。

在C#中使用multithreading加速循环(问题)

想象一下,我有一个function,它通过一百万个/十亿字符串并检查其中的smth。 f.ex: foreach (String item in ListOfStrings) { result.add(CalculateSmth(item)); } 它消耗了大量的时间,因为CalculateSmth是非常耗时的function。 我想问一下:如何在这种过程中集成multithreading? f.ex:我想启动5个线程,每个线程返回一些结果,直到列表中有项目为止。 也许任何人都可以展示一些例子或文章.. 忘记提到我需要它在.NET 2.0中

在.net 4.0上执行应用程序时,在.net 2.0下编译

假如说: 下面的C#源代码是在.NET 2.0(CLR 2.0)下编译的; 和 上面的应用程序使用下面列出的app.config ; 和 只有.NET 4.0(CLR 4.0)安装在执行应用程序的客户端的环境中, 然后在内部加载哪个版本的.NET来在客户端环境中执行应用程序? 描述 下面的控制台应用程序将在控制台中显示其CLR版本为v4.0.30319 ,但@Reed Copsey对堆栈的回答( CLR 2.0与4.0性能? )表明在这种情况下加载了.NET 2.0。 此外,在MSDN上,它表示当useLegacyV2RuntimeActivationPolicy设置为false false : 使用.NET Framework 4及更高版本的默认激活策略, 即允许旧版运行时激活技术将CLR版本1.1或2.0加载到该过程中。 尽管app.config具有.NET 4.0配置,但听起来像是加载了.NET 2.0。 我误解了什么吗? 资源 C#源代码 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string version = Environment.Version.ToString(); Console.WriteLine(version); } } } app.config

如何通过类实例的属性值对包含类对象的数组进行排序?

可能重复: 如何通过C#中的特定字段对对象数组进行排序? 给出以下代码: MyClass myClass; MyClassArray[] myClassArray = new MyClassArray[10]; for(int i; i < 10; i++;) { myClassArray[i] = new myClass(); myClassArray[i].Name = GenerateRandomName(); } 最终结果可能如下所示: myClassArray[0].Name //’John’; myClassArray[1].Name //’Jess’; myClassArray[2].Name //’James’; 你将如何按字母顺序根据myClass.Name属性对MyClassArray []数组进行排序,这样数组最终会如下所示: myClassArray[0].Name //’James’; myClassArray[1].Name //’Jess’; myClassArray[2].Name //’John’; *编辑 :我正在使用VS 2005 / .NET 2.0。

如何从资源对象获取资源名称?

假设我在我的资源文件夹中添加了一个exe。 现在我怎么能得到资源的名称(甚至链接的完整路径,以便我仍然可以拥有文件名)作为字符串? 从Properties.Resources.myApp我如何获得string “myApp” 。 ToString()不起作用。 如果嵌入文件以获取名称很重要,我可以。 编辑:我的问题不是专门获取exe资源的名称。 但是那个通用的方法给了我资源的名称! 例如,如果我的资源是位图图像怎么办? 我需要从Properties.Resources.Lily打印“Lily”。 怎么做到这一点? ToString无论如何都不会工作。

C#preg_replace?

C#中的PHP preg_replace是什么? 我有一个字符串数组,我想用另一个字符串数组替换。 这是PHP中的一个例子。 如何在不使用.Replace(“old”,“new”)的情况下在C#中执行类似的操作。 $patterns[0] = ‘/=C0/’; $patterns[1] = ‘/=E9/’; $patterns[2] = ‘/=C9/’; $replacements[0] = ‘à’; $replacements[1] = ‘é’; $replacements[2] = ‘é’; return preg_replace($patterns, $replacements, $text);

允许在.NET TreeView中进行多选

我陷入了.NET 2.0 Windows窗体。 它看起来不像标准TreeView控件中存在选择多个节点的能力。 我正在尝试为上下文菜单选择执行此操作。 因此,复选框不是可接受的UI范例。 提供非常必要的function的最佳方法是什么?

事件订阅者是按订阅顺序调用的吗?

假设按订阅顺序调用事件订阅者是否安全? 例: void One(object sender, EventArgs e) {} void Two(object sender, EventArgs e) {} event EventHandler foo; foo += One; foo += Two; 当事件被触发时,One()总是在Two()之前调用吗? 编辑: 你应该不依赖它,我只是想。 这个想法是,多播代表与COMMAND模式类似。 所以我只是想知道。 通常你会使用一个保存COMMAND命令的集合,这样你就可以撤消/重做/无论如何。

validationxml节点,而不是整个文档

我正在使用一些xml’片段’,它们在xml中形成元素。 我有架构,但我无法validation这些文件,因为它们不是完整的xml文档。 这些片段用必要的父元素包装,以便在其他工具中使用时形成有效的xml,因此我没有太多选择将它们变为有效的xml或更改模式。 是否可以validation元素,而不是整个文档? 如果没有,可以提出哪些变通方法? 我正在使用.NET 2.0框架在C#中工作。