【问题标题】:How to change the third character of a list cell如何更改列表单元格的第三个字符
【发布时间】:2020-09-25 08:11:36
【问题描述】:

我可以将整个列表单元格更改为一个,但我不知道如何仅更改单元格的第三个字符。

这两个不起作用:

list[index].CELL_A.Substring(2,1) = 'd';

list[index].CELL_A.ElementAtOrDefault(2) = 'd'

但是,你保存整个单元格的地方是有效的:

liste[index].CELL_A = "Text";

【问题讨论】:

    标签: c# list visual-studio bindingsource


    【解决方案1】:

    您可以使用StringBuilder 来解决您的问题(或者也可以使用charArray),我将使用StringBuilder 提供解决方案...

    StringBuilder sb = new StringBuilder(list[index]);
    sb[2] = 's';
    list[index] = sb.ToString();
    

    ...或Array of Chars:

    char[] charArr = list[index].ToCharArray();
    charArr[2] = 's';
    list[index] = new string(charArr);
    

    您不能直接修改 字符串 对象,因为它们是不可变对象
    事实上,在这两种解决方案的情况下,我已经向您展示了 list[index] 元素将指向一个新的修改过的字符串对象,而您将“丢失”旧字符串(list[index] 将指向一个包含新修改值)。

    【讨论】:

      猜你喜欢
      • 2011-12-13
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 2017-06-28
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      相关资源
      最近更新 更多