【发布时间】:2021-01-29 01:03:00
【问题描述】:
我有一个字典字符串(键)和值字符串列表。我希望能够打印出 // 列表的内容(而不是获取 System.Collections.Generic.List`1[System.String] ),而且 // 能够获取每个值(字符串)并创建新列表
基本上我应该在结果字典中有 3 个列表(一个由虚幻组成,另一个包含 //batter 和 patter,另一个包含 4 个不包含任何 a 的单词)
我有这样的事情
using System;
using System.Collections.Generic;
using System.Text;
static void Main(string[] args)
{
List<string> wordList = new List<string>() { "unreal", "batter", "butter", "patter",
"tested", "nested", "pested" };
char letter = 'a';
Dictionary<string, List<string>> results = new Dictionary<string, List<string>>();
// So at each key ( so the ----a- for instance) it will have it's own dictionary
foreach (string word in wordList)
{
StringBuilder builder = new StringBuilder();
// builder.Append(word);
for (int i = 0; i < word.Length; i++)
{
// builder = null;
if (word[i] == letter)
{
builder.Append(letter);
// key = String.Join(word, wordList);
// builder[i] = letter;
}
else
{
// builder[i] = '-';
builder.Append('-');
}
}
string key = builder.ToString();
// var result = string.Join(key, word);
if (results.ContainsKey(key))
{
List<string> list = results[key];
list.Add(word);
}
else
{
List<string> list = new List<string>();
list.Add(word);
results.Add(key, list);
}
// results.Add(result)
}
foreach(KeyValuePair<string,List<string>> kvp in results)
{
Console.WriteLine("{0} has {1} words", kvp.Key, kvp.Value.Count);
// Console.WriteLine(kvp.Value.Count);
}
}
【问题讨论】:
-
请使用C#类型而不是英文描述。你是想说
Dictionary<string, List<string>>吗?//是什么意思? “打印内容”而不是获取List<string>是什么意思?这些 cmets 是干什么用的?
标签: c# list linq dictionary key-value