如何改变部分字符串的颜色?

How to change color in part of string?

我需要更改部分字符串的颜色。如何做到这一点?

if (kmTotalMil < allTotal || kmTotalMil > allTotal)
{
    return "You are " + kmTotalMil.ToString() + " km." + " in city " + allTotal.ToString() + " km.";
}

我需要 kmTotalMil.ToString() 并且 allTotal.ToString() 必须是红色。

如何操作?

我假设您要将其输出到 html,在这种情况下,您需要使用 CSS 来设置字符串的样式。在下面的代码中,我返回一个包含 HTML 标记的字符串,在本例中为 span,并且我添加了一些带有 css 规则的内联样式以将颜色更改为红色:

if (kmTotalMil < allTotal || kmTotalMil > allTotal)
{
    return "<span style='color:red'>some text</span>";
}

下一步,我建议您阅读一些有关 CSS 和 C# 中的字符串连接的教程。

当您针对 asp.net 网站提出此要求时,您应该使用 CSS 来设置文本样式:

if (kmTotalMil < allTotal || kmTotalMil > allTotal)
{
    return "You are <span style='color:red'>" + kmTotalMil.ToString() + "</span> km." + " in city <span style='color:red'>" + allTotal.ToString() + "</span> km.";
}

这是与 string.Format 相同的结果:

if (kmTotalMil < allTotal || kmTotalMil > allTotal)
{
    return string.Format("You are <span style='color:red'>{0}</span> km. in city <span style='color:red'>{1}</span> km.", kmTotalMil, allTotal);
}