【发布时间】:2019-11-22 21:19:51
【问题描述】:
我将一个类“标签”和一个字符串“标签名称”存储到一个字典列表中。 这是我存储在该列表中的示例:
Tag apply_t = new Tag("<apply>");
tagteam.Add(apply_t, "apply");
如果我得到的有我想要的字符,我可以检查该行...
我将下面的内容传递给我的 if 语句在下面的函数中
char[][] arr = File.ReadAllLines(path).Select(l => l.ToCharArray()).ToArray();
string line1tag = "" + arr[0][1] + arr[0][2] + arr[0][3] + arr[0][4];
ReturnTag(line1tag);
继续……
if ((line == "a" + "p" + "p" + "l" + "y") || (line == "apply"))
{
Debug.Log(line);
}
else
{
Debug.Log("trying my best");
}
但是 我真的需要它比这更有活力...... 我希望能够说类似的话
if (line == tagteam.ContainsKey())
{
}
由于我在字典中存储了一个类和一个字符串名称,我该如何检查呢?
我在想一些类似临时标签的东西,但我不知道如何实现它。
有什么想法吗?
TL;DR: 目标是能够读取附加到该行的字符串,然后将其与字典进行比较并找到匹配项。我的问题是我现在有一个带有字符串名称的类。它给了我错误“无法从字符串转换为 parseML.Tag”。
【问题讨论】:
-
(line == "a" + "p" + "p" + "l" + "y") || (line == "apply")这两个条件是相同的。您实际上希望他们做什么? -
而且还不太清楚您要在这里做什么。你的字典
Key是Tag类型的吗?这听起来不像是好的设计。 -
你的问题有点不清楚。您是要在字典中搜索标签的一部分还是完整的标签?前者不是人们通常对字典所做的,后者是可能的,如果你在你的 Tag 类上实现
GetHashCode方法。 -
我这样做只是因为我担心它会存储单独的字符,或者是否会将整个内容作为字符串。不过现在完全没必要了。 (之前收到过关于它的错误,所以它只是在检查)是的,我的字典键是标签类型。我认为这是一个好主意,因此我可以拥有一个标签字典,其中每个标签在创建时都有其自身的特定属性。我只是想在字典中搜索字符串,因为我将类存储为字典键,所以我不知道如何在字典中搜索类键中的字符串。
-
目前还不清楚你到底在找什么,但问题aswritten似乎是常规的“如何通过部分键或值匹配在字典中查找项目” (类似于stackoverflow.com/questions/15445432/…)。如果这不是您想要的,请edit 澄清问题。
标签: c# class dictionary parsing tags