如何从KeyValuePair<TKey,TValue>的输出中删除方括号?



在下面的代码中,输出返回

[Text1, Text2] 

我希望输出没有方括号:

Text1, Text2

我该如何解决这个问题?(这是一个简单的例子,我将在我自己的项目中使用它(

static void Main(string[] args)
{
KeyValuePair<string, string> my_pair = new KeyValuePair<string, string>("Text1", "Text2");
Console.WriteLine(my_pair);
Console.ReadKey();
}

好吧,

Console.WriteLine(my_pair);

为CCD_ 2调用CCD_ 1并打印出计算出的字符串。如果你想要某种自定义格式,你可以在字符串插值的帮助下完成:

Console.WriteLine($"{my_pair.Key}, {my_pair.Value}"); 

net将计算{...}中的每个表达式,并将结果放入字符串中

您的代码行:

Console.WriteLine(my_pair);

调用KeyValuePair上的函数ToString((,根据Microsoft.Net参考源,该函数执行以下操作。

public override string ToString() {
StringBuilder s = StringBuilderCache.Acquire();
s.Append('[');
if( Key != null) {
s.Append(Key.ToString());
}
s.Append(", ");
if( Value != null) {
s.Append(Value.ToString());
}
s.Append(']');
return StringBuilderCache.GetStringAndRelease(s);
}

正如您所看到的,KeyValuePair.ToString((方法用方括号包围键和值。

为了以您喜欢的格式输出KeyValuePair,您可以执行以下操作。

Console.WriteLine(String.Format("{0},{1}", my_pair.Key, my_pair.Value));

最新更新