你的版本嘗試打印s.Keys
和s.Values
,這兩者都是集合。您可以使用一個循環打印出來,但你可以使用string.Join
兩次來代替:
public override string ToString() {
return string.Join(
",",
myDict.Select(
p => string.Format(
"{0}:{1}",
p.Key,
string.Join(",", p.Value.Select(x => string.Format("{0}={1}", x.Key, x.Value)))
)
);
}
注1:上述語法使用string.Format
,而不是string interpolation,在這兩個電話。如果您使用的是C#的新版本,你可以把它改寫爲稍短的代碼,例如
string.Join(",", p.Value.Select(x => $"{x.Key}={x.Value}"))
注2:對於舊版本的.NET的加入ToArray()
都選擇後:
return string.Join(
",",
myDict.Select(
p => string.Format(
"{0}:{1}",
p.Key,
string.Join(",", p.Value.Select(x => string.Format("{0}={1}", x.Key, x.Value)).ToArray())
).ToArray()
));
考慮stringTransition沒有定義我懷疑它不工作 – Paparazzi