[英]How to consume a method that returns a 2d System.Array (not string[,]) in C#?
我正在使用這樣的一行:
Array stringArray = Array.CreateInstance(typeof(String), 2, 2);
消耗一個返回帶有我的stringArray變量的2D System.Array的方法。 但是stringArray = MyClassInstance.Work(...,... ...); 沒有填充該函數的返回數組。
我應該如何定義我的集合變量,以便可以將其分配給返回2D System.Array字符串數組值的方法的返回值?
謝謝
Array.CreateInstance
返回一個Array
,沒有指定其維度和長度(但無論如何它是一個System.Array
,它是C#中所有數組的基類)。 在大多數情況下,方法的返回數組更像是:
public string[] MyMethod()
{
}
public int[,] Another(int something)
{
}
string[] theStringResult = MyMethod();
int[,] theIntResult = Another(1);
Array.CreateInstance(typeof(String), 2, 2);
這會返回一個string[,]
強制轉換為Array
。 與(Array)(new string[2,2])
。 因此string[,]
如果需要string[,]
可以將其強制轉換為string[,]
。
但是你為什么要用它呢? 你不能只使用string[,]
嗎? 難道你不知道元素類型在編譯時是string
嗎? 也許用一個通用參數。
但是stringArray = MyClassInstance.Work(...,... ...); 沒有填充該函數的返回數組。
除非您將代碼發布到發生的位置,否則我們無法幫助解決問題的這一部分。 看起來MyClassInstance.Work不會返回您創建的數組實例。 但除非你用錯誤顯示代碼,否則我無法告訴你它在哪里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.