double[] a = { 2.122, 3.665, 4.917 };
double[][] c = m_CO.Process(cc);
foreach(double d in c)
{
lblText.Text = d.tostring();
}
,其結果是(system.Double[][])
或者(Empty string)
雙[] []轉換爲字符串[C#]
double[] a = { 2.122, 3.665, 4.917 };
double[][] c = m_CO.Process(cc);
foreach(double d in c)
{
lblText.Text = d.tostring();
}
,其結果是(system.Double[][])
或者(Empty string)
雙[] []轉換爲字符串[C#]
在物體上ToString
,除非被覆蓋返回對象的類型名稱。此外,您的foreach
不會編譯,因爲二維數組中的每個項目的類型爲double[]
而不是double
。
你能做什麼,用string.Join
和LINQ Select
是:
string result = string.Join(",", d.Select(i => string.Join(",", i)));
或者,如果分離器是一樣的,與SelectMany
作爲@Jakub Dabek建議:
string result = string.Join(",", d.SelectMany(i => i));
對於數據:
double[][] d = new double[2][]
{
new double[] {1,2},
new double[] {3,4},
};
返回結果:"1,2,3,4"
你可以做'string.Join(「,」,d.SelectMany(t => t))' –
@JakubDąbek - 如果它是相同的分隔符,則爲true。好建議。編輯我的答案 –
c
是Jagged Array。如果您嘗試一個數組它僅僅返回它的類型上運行.ToString()
foreach (double[] da in c)
{
foreach (var d in da)
{
lblText.Text += d.ToString();
}
}
: 那麼試試這個。
如果你想把它轉換成一個字符串,你需要決定格式。如果我可以建議一個:
double[] a = { 2.122, 3.665, 4.917 };
double[][] c = m_CO.Process(cc);
var usCulture = new CultureInfo("en-US");
// Using a list to build the string is more efficient than += every time
var tmpList = new List<string>();
foreach (var l1 in c) // l1 is double[]
{
foreach (var l2 in l1) // l2 is double
{
// Specify en-US culture since many cultures use "," instead of "." for decimal separator
tmpList.Add(l2.ToString(usCulture));
}
}
lblText.Text = string.Join(", " , tmpList);
tmpList.Clear();
如果程序只在一種文化下運行,那麼設置文化並不是絕對必要的。但是來自具有「,」作爲分隔符的文化,我經常遇到與此相關的錯誤。當然你也可以做l2.ToString().Replace(",", ".")
。
你應該問一個問題。你已經展示了結果,以及一些不能編譯的示例代碼。你期待什麼?實際的代碼是什麼? –
'foreach(c中的double d)'不會編譯 – haim770
我想在屏幕上的標籤中顯示c的值..並且返回一個空字符串 –