作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想问一下,是否可以用我想要的特定颜色更改字符串中特定字母的颜色。
例如:
string letters = "Hello World"; //The string inputted.
我想把“你好”中的“o”改成红色。我怎么做?这个我知道
Console.Foreground = ConsoleColor.Red;
会将整个字符串更改为红色。用特定颜色更改特定字母的最佳代码是什么?提前致谢!
最佳答案
最直接的解决方案是
var o = letters.IndexOf('o');
Console.Write(letters.Substring(0, o));
Console.ForegroundColor = ConsoleColor.Red;
Console.Write(letters[o]);
Console.ResetColor();
Console.WriteLine(letters.Substring(o + 1));
您还可以将其概括为一个函数,该函数适用于您想要着色的任意字符串或字母:
void WriteLineWithColoredLetter(string letters, char c) {
var o = letters.IndexOf(c);
Console.Write(letters.Substring(0, o));
Console.ForegroundColor = ConsoleColor.Red;
Console.Write(letters[o]);
Console.ResetColor();
Console.WriteLine(letters.Substring(o + 1));
}
另一种选择可能是使用像 "Hell&o World"
这样的字符串并解析它,其中 &
表示以红色打印以下字母。
关于c# - 如何在 C# 控制台中更改字符串中每个字母的前景色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11150332/
我是一名优秀的程序员,十分优秀!