Tag: 查找

查找并替换RegEx问题

由于我在其他问题上对SO的所有帮助很大,我开始掌握RegEx。 但我仍然对这个感到厌烦: 我的代码是: StreamReader reader = new StreamReader(fDialog.FileName.ToString()); string content = reader.ReadToEnd(); reader.Close(); 我正在阅读文本文件,我想搜索此文本并进行更改(X和Y值始终在我的文本文件中互相跟随): X17.8Y-1。 但是这个文本也可以是X16.1Y2.3 (在X和Y之后值总是不同的) 我想把它改成这个 X17.8Y-1.G54 要么 X(值)Y(值)G54 我的RegEx声明如下,但它无效。 content = Regex.Replace(content, @”(X(?:\d*\.)?\d+)*(Y(?:\d*\.)?\d+)”, “$1$2G54”); 有人可以为我修改它,以便它可以工作,并将搜索X(通配符)Y(通配符)并将其替换为X(值)Y(值)G54?

查找包含给定字符串的所有行

System.IO.StreamReader file = new System.IO.StreamReader(@”data.txt”); List Spec= new List(); while (file.EndOfStream != true) { string s = file.ReadLine(); Match m = Regex.Match(s, “Spec\\s”); if (m.Success) { int a = Convert.ToInt16(s.Length); a = a – 5; string part = s.Substring(5, a); Spec.Add(part); } } 我正在尝试获取包含单词“Spec”的所有行,然后是空格字符,但是当我运行此程序时出现错误。 例外的细节如下: An unhandled exception of type ‘System.ArgumentOutOfRangeException’ occurred in mscorlib.dll 任何人都可以协助我找出原因吗? […]

使用C#为字典中的一个键添加多个位图值

我有一个字典存储模式图像用于OCR目的。 我从字典中抓取这些位图并将其与我从图像中裁剪的位图进行比较,如果它们匹配=>抓住了密钥(OCR部分已完成)。 问题出现在这里。 一个密钥应该由几个不同的位图(即值)表示。 如何在字典中添加多个位图来表示相同的密钥? 这就是我使用字典的方式: Dictionary lookup = new Dictionary(); lookup.Add(“A”, new Bitmap(@”C:\08\letters\1\a1.bmp”, true)); lookup.Add(“A”, new Bitmap(@”C:\08\letters\1\a2.bmp”, true)); // Error will be here, because key A already exists for one Bitmap value. lookup.Add(“a”, new Bitmap(@”C:\08\letters\1\aa1.bmp”, true)); lookup.Add(“B”, new Bitmap(@”C:\08\letters\1\b1.bmp”, true)); 现在,抓住图像和价值,我做了以下: var target = lookup.ToList(); bitmap b1 = target[j].Value; //grab value //if value = […]

将Lookup 转换为其他数据结构c#

我有一个 Lookup TElement指的是一串单词。 我想将Lookup转换为: Dictionary or List<List> ? 我已经阅读了一些关于使用的文章 Lookup 但这对我来说还不够理解。 提前致谢。

为什么Lookup在C#中是不可变的?

与Dictionary不同,您无法通过逐个添加元素来构建Lookup 。 你碰巧知道原因吗? Lookup就像C ++中的multimap一样; 为什么我们不能在C#中修改它? 如果我们真的不能,我们如何在C#中构建multimap数据结构?

ToLookup有多个键

有没有办法要求LINQ提供的.ToLookup函数有多个键? 我承认起初这似乎不直观,我期待没有实际的方法来做到这一点,但我希望有人知道一种方式。 我基本上希望能够通过两个值进行查找,例如string和int ,并使用这两个值检索对象。 例 public class MyClass { public string StringProp {get;set;} public int IntProp {get;set;} public object MoreData {get;set;} } public class Main { public void Main() { HashSet set = new HashSet(); set.Add(new MyClass {StringProp = “a”, IntProp = 1, MoreData = null}); set.Add(new MyClass {StringProp = “c”, IntProp = 4, MoreData […]

如何在List 中为Find()创建一个好的谓词委托?

在查看MSDN之后,我仍然不清楚如何使用T的成员变量(其中T是一个类)在List中使用Find()方法形成一个正确的谓词 例如: public class Car { public string Make; public string Model; public int Year; } { // somewhere in my code List carList = new List(); // … code to add Cars … Car myCar = new Car(); // Find the first of each car made between 1980 and 2000 for (int x = […]

在c#字典中只查找或插入一个查找

我是一名前C ++ / STL程序员,试图使用c#/ .NET技术编写快速行进算法… 我正在搜索等效的STL方法“map :: insert”,如果不存在,则在给定键处插入值,否则返回现有键值对的迭代器。 我找到的唯一方法是使用两个查找:一个在TryGetValue中,另一个在Add方法中: List list; if (!_dictionary.TryGetValue (pcost, out list)) { list = new List (); dictionary.Add (pcost, list); } list.Add (new Point { X = nx, Y = ny }); 是否有一些东西可以解释为什么使用.NET容器不可能? 还是我错过了一些观点? 谢谢。

初始化Lookup

如何在c#中的对象初始化程序例程中为属性声明一个新的查找类? 例如 new Component() { ID = 1, Name = “MOBO”, Category = new Lookup } 类别位总是会出现编译错误。 我有一个名为Category的属性,其类型为Lookup ,我希望通过实例化此属性 new Component() { ID = 1, Name = “MOBO”, Category = new Lookup }; 但我无法克服编译错误。

如何在C#中的combobox中按值找到项目?

在C#中,我有a类型string变量a 。 如何在combobox找到a的值(我想找到值没有combobox的显示文本的项目)。