[英]C# Anonymous Array between curly brackets
我正在學習 C# 和 arrays,實際上是匿名 Arrays。 這是發生了什么......當我打印它們時,我得到了大括號之間的值......有人為什么嗎?
匿名數組
var valores = new[]
{
new{valor = 1},
new{valor = 2},
new{valor = 3}
};
前鋒
foreach(var values in valores)
{
Console.WriteLine(values);
}
Output
{ valor = 1 }
{ valor = 2 }
{ valor = 3 }
有人為什么嗎?
因為這就是 ToString 的默認實現的寫法。 它生成代碼列表屬性名稱和值。 顯然,假設我們擺脫了您 output “變量”但命名 valores 和值的事實 - 所以它實際上應該引發錯誤。
請檢查您的代碼,可能您使用過(更新前)類似下面的代碼。 在這種情況下,花括號表示匿名類型的實例(默認 ToString 方法)。
var valores = new[]
{
new {valor = 1},
new {valor = 2},
new {valor = 3}
};
foreach(var variable in valores)
{
Console.WriteLine(variable);
}
當您循環數組時,您實際上是在打印整個匿名類型<anonType>.ToString()
作為默認實現。
如果您要做的是打印值,則必須一一打印,因為您無法在匿名類型上覆蓋.ToSTring()
。
類似的東西會起作用:
var valores = new[]
{
new{valor = 1},
new{valor = 2},
new{valor = 3}
};
foreach (var values in valores)
{
Console.WriteLine(values.valor);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.