我有一個方法需要參數,我想用另一種方法提供這些參數。例如:將方法的收集結果作爲參數傳遞
public void Process(params string[] words)
{
// do some stuff
}
public IEnumerable<string> GetWords()
{
yield return "test";
}
Process(GetWords()); // Error collection of strings must be passed individually
然而,這是不允許的,因爲結果被認爲是IEnumerable類型,而不是一組參數字符串類型的單個參數。我試過使用ToArray和ToList,同樣的問題。有沒有辦法使用方法的結果作爲params參數?
編輯:當您先傳遞另一個參數時會出現問題。問題是我需要保持訪問第一個參數,但不是其他人。這可以通過讓方法創建所有參數,單獨調用它並保持對第一個元素的引用來完成。
你的意思應該是一樣調用'進程( 「第一」, 「測試」)',像工藝(Enumerable.Repeat( 「第一」,1) .Concat(GetWords())。ToArray())會做什麼? – 2015-03-31 09:55:34