我怎样才能从char中添加字符

时间:2015-12-03 01:39:39

标签: c# wpf mvvm char

如何从与我的代码中的位置匹配的字符添加额外的30个字符。

private void CheckGarbageCharacters(string input)
{
    var contentList = File.ReadAllLines(input).ToList();
    int[] lineno = { 0 };
    foreach (var line in contentList)
    {
        lineno[0]++;
        foreach (var errorModel in from c in line
                                   where c > '\u007F'
                                   select new ErrorModel
                                   {
                                       Filename = Path.GetFileName(input),
                                       LineNumber = lineno[0],
                                       ErrorMessage = "Garbage character found.",
                                       Text = c.ToString()
                                   })

        {
            _errorList.Add(errorModel);
        }               
    }
}

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解您的问题,但根据您提供的代码,您似乎正在尝试做这样的事情......

〜伪代码〜这还没有经过测试〜

private void CheckGarbageCharacters(string filename)
{
    var lines = File.ReadAllLines(filename).ToList();
    for (int i = 0; i < lines.Count; i++)
    {
         var line = lines[i];
         for (int j = 0; j < line.Length; j++)
         {
              var c = line[j];
              if (c > '\u007F')
              {
                   // Grab the next 30 characters after 'c'
                   var text = c.ToString();
                   for (int k = 0; k < 30; k++)
                   {
                        if ((j + k) > (line.Length - 1))
                        {
                             break;
                        }
                        text += line[j + k].ToString();
                   }
                   // Create the error message
                   var error = new ErrorModel()
                   {
                        Filename = Path.GetFileName(filename),
                        LineNumber = i,
                        ErrorMessage = "Garbage character found.",
                        Text = text
                   };
                   // Add the error to the list
                   _errorList.Add(error);
              }
         }
    }
}

我不确定你的意思是“从我的代码中匹配的地方添加额外的30个字符”但是。

修改

我已根据您在评论中提供的信息更新了我的答案。我相信这就是你在这里要做的事情。