gpt4 book ai didi

c# - 用等效字符串表示 Char

转载 作者:太空狗 更新时间:2023-10-29 22:27:55 24 4
gpt4 key购买 nike

我有以下类作为 ListBox 的 DataSource:

class SeparatorChars
{
/// <summary>
/// Text to describe character
/// </summary>
public string Text { get; set; }

/// <summary>
/// Char value of the character
/// </summary>
public char Value { get; set; }

/// <summary>
/// Represent object as string
/// </summary>
/// <returns>String representing object</returns>
public override string ToString()
{
return Text + " '" + Value + "'";
}
}

问题是,默认情况下,这将使用 Value 作为添加到字符串的常规字符,例如,如果我为 Tab 定义此类,如下所示:

var TabSeparator = new SeparatorChars {Text = "Tab", Value = '\t'}

字符串表示将是:

Tab '     '

但我需要它

Tab '\t'

如何做到这一点?!

最佳答案

无可否认,大部分内容来自 this post未经测试。

public override string ToString()
{
return ToLiteral(Text + " '" + Value + "'");
}

private string ToLiteral(string input)
{
var writer = new StringWriter();
CSharpCodeProvider provider = new CSharpCodeProvider();
provider.GenerateCodeFromExpression(new CodePrimitiveExpression(input), writer, null);
return writer.ToString();
}

关于c# - 用等效字符串表示 Char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8711662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com