Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从字符串中读取字符并对每个字符进行计数_C#_Arrays_List_Dictionary - Fatal编程技术网

C# 从字符串中读取字符并对每个字符进行计数

C# 从字符串中读取字符并对每个字符进行计数,c#,arrays,list,dictionary,C#,Arrays,List,Dictionary,我在代码中遇到的问题如下:在所有旋转结束时,我无法理解如何读取每个字符并将每个字符的整数相加。这是我的密码: 我在这里读一个字符串在字典中存在多少次。我需要得到的,写在上面的,是不同的。请帮忙,谢谢 String.Split默认情况下是在新行上拆分,因此字符包含一个包含整行的字符串。如果需要每个字符,只需取消拆分,并将Dictionary KeyType更改为char以匹配值: SortedDictionary<char, int> text = new SortedDictiona

我在代码中遇到的问题如下:在所有旋转结束时,我无法理解如何读取每个字符并将每个字符的整数相加。这是我的密码:

我在这里读一个字符串在字典中存在多少次。我需要得到的,写在上面的,是不同的。请帮忙,谢谢

String.Split默认情况下是在新行上拆分,因此字符包含一个包含整行的字符串。如果需要每个字符,只需取消拆分,并将Dictionary KeyType更改为char以匹配值:

SortedDictionary<char, int> text = new SortedDictionary<char, int>();
char[] characters = Console.ReadLine().ToArray();
// ...
默认情况下,拆分是在新行上拆分,所以字符包含一个包含整行的字符串。如果需要每个字符,只需取消拆分,并将Dictionary KeyType更改为char以匹配值:

SortedDictionary<char, int> text = new SortedDictionary<char, int>();
char[] characters = Console.ReadLine().ToArray();
// ...

这里可以使用LINQ,因为任何字符串都由char元素组成。因此,字符串类型实现IEnumerable接口:

string str = "aaabbc";
var res = str
        .GroupBy(c => c)
        .ToDictionary(g => new { g.Key, Count = g.Count() });
下面的示例演示了如何在不强制转换到字典的情况下获得它,而是投影匿名类型并按降序排列字符数:

var res2 = str
    .GroupBy(c => c)
    .Select(d => new { d.Key, Count = d.Count() })
    .OrderByDescending(x => x.Count);

这里可以使用LINQ,因为任何字符串都由char元素组成。因此,字符串类型实现IEnumerable接口:

string str = "aaabbc";
var res = str
        .GroupBy(c => c)
        .ToDictionary(g => new { g.Key, Count = g.Count() });
下面的示例演示了如何在不强制转换到字典的情况下获得它,而是投影匿名类型并按降序排列字符数:

var res2 = str
    .GroupBy(c => c)
    .Select(d => new { d.Key, Count = d.Count() })
    .OrderByDescending(x => x.Count);


示例文本t->2e->1x->1您得到的是什么?Console.ReadLine.GroupByc=>c.ToDictionaryg=>g.Key,g=>g.Count?@clcto当我将文本写入compiler@AluanHaddad我应该在哪里使用它?如何使用?示例文本t->2E->1X->1您得到的是什么?Console.ReadLine.GroupByc=>c.ToDictionaryg=>g.Key,g=>g.Count?@clcto当我将文本写入compiler@AluanHaddad我应该在哪里使用,如何使用?非常感谢您迄今为止的帮助!我脑子里有一个问题。为什么不再按降序排列值/键?我看到它仍然是一个SortedDictionary,但它并没有对它们进行排序,而是对它们进行排序——它按键排序,而不是按值排序。ex.Value{Console.WriteLine${character.Key}->{character.Value};}非常感谢您迄今为止的帮助!我脑子里有一个问题。为什么不再按降序排列值/键?我看到它仍然是一个SortedDictionary,但它并没有对它们进行排序,而是对它们进行排序——它按键排序,而不是按值排序。ex.Value{Console.WriteLine${character.Key}->{character.Value};}