Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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# - Fatal编程技术网

C# 计算文件中有多少个字母以及哪些字母工作不正常

C# 计算文件中有多少个字母以及哪些字母工作不正常,c#,C#,我得到了随机字符,比如a=49'1'd=52'4'应该是a=ad=d 我试着在temp[j]上添加其他东西,但都没有达到预期的效果。我在这个问题上坚持了两个多星期 lettres = Convert.ToChar(temp[j] - '0');// Convert.ToChar(temp[j]);// - '0'); switch (lettres) { case 'A': numbers[0] += 1; num

我得到了随机字符,比如a=49'1'd=52'4'应该是a=ad=d

我试着在temp[j]上添加其他东西,但都没有达到预期的效果。我在这个问题上坚持了两个多星期

lettres = Convert.ToChar(temp[j] - '0');// Convert.ToChar(temp[j]);// - '0');
switch (lettres)
    {
         case 'A':
              numbers[0] += 1;
              numberos = numbers;
              break;
         case 'B':
              numbers[1] += 1;
              numberos = numbers;
              break;
         case 'C':
              numbers[2] += 1;
              numberos = numbers;
              break;
         case 'D':
              numbers[3] += 1;
              numberos = numbers;
              break;
         case 'E':
              numbers[4] += 1;
              numberos = numbers;
              break;
         case 'F':
              numbers[5] += 1;
              numberos = numbers;
              break;
         case 'G':
              numbers[6] += 1;
              numberos = numbers;
              break;
         case 'H':
              numbers[7] += 1;
              numberos = numbers;
              break;

temp[j]是一个类似于banana的字符串,j是for循环的一部分,因此假设其1,结果应该是数字[0]+=1,因为lettres应该是a,但它是49'1',那么开关不做任何事情,因为'1'不是大小写

您可以使用LINQ来实现这一点:

Dictionary<char, int> frequencies = text
                .GroupBy(c => c)
                .ToDictionary(g => g.Key, g => g.Count());

从你的问题我理解是

string str2 = "banana";
var r = str2.ToUpper().GroupBy(x => x)
    .Select(x => new
    {
        t = x.Key,
        Count = x.Count()
    })
    .ToList();

你期望的结果是什么?意外发生了什么?a=49'1',49是。。我不知道你说49'1'是什么意思?你能发布你的临时数组内容和预期输出吗?猜你想做什么有点难发布你的输入和你想要的输出由于你的解释真的不清楚,它仍然是猜测。尽管如此,我还是向黑暗开了一枪:这可能是一个重大案件的问题?也许案例“a”:案例“a”:解决了你的问题?但正如@trailmax所说,也许有更好的方法可以做到这一点,但如果没有完整的代码示例和/或准确的解释,我们无法向您展示一种方法。就我而言,我实际上不知道该解决什么问题。为什么要减去“0”?
string str2 = "banana";
var r = str2.ToUpper().GroupBy(x => x)
    .Select(x => new
    {
        t = x.Key,
        Count = x.Count()
    })
    .ToList();