我知道LINQ,但我的知识几乎只有选择,where,orderby和所有最常用的功能。现在我需要做一些我认为非常困难的事情,并且可能甚至不可能只使用LINQ。我拥有的是一个人的名单。东部 查询,但我需要从该列表中创建一个文本字符串。文本字符串必须给出一个字母,后面跟着每个人的名字。复杂的LINQ查询
IList<person> Person
我需要能够通过检查Person列表的LINQ语句。我需要 才能查找出现多次的名称。到目前为止,我有以下几点。它的工作原理好,但是没有得到所需要的一切:
Person[0] name="Fred" &
Person[1] name="Pete" &
Person[2] name="Tony" the var abc = "a) Fred. b) Pete. c) Tony
var a = "";
foreach (var person in _persons
.Select((data, value) => new { Data = data, Value = value })
{
a = a + (char)(details.Value + 64) + details.name
}
我需要的是额外的功能,以便:
Person[0] name="John" then var abc = "a) John."
Person[1] name="John" &
Person[3] name="John" then var abc = "b) & d) John."
Person[1] name="John" &
Person[2] name="John" &
Person[3] name="John" then var abc = "b),c) & d) John."
换句话说,得到的名字和之前他们表演把人物该名称在列表中的位置。但是,如果名称出现两次,而不是a)name1。 b)姓名1我需要得到a),b)姓名。
这是我无法弄清楚如何去做的事情。我会很感激任何人都可以给我的建议或指示。
那必须是我读过的最不着边际的解释。 “什么?”是唯一想到的。 – Blindy
词典将在这里成为你的朋友。将Person的名字作为一个键,如果键存在,将下一个字母添加到像这样的值'dict [key] + =“,”+ nextLetter +“)”;' –
@Bindindy - 对不起。我发现描述起来并不容易。我给了我一直在努力的一些示例代码。关于要求和最后一些简短例子的一些话。再加上几个词以防万一:-) – JonAndMarie