如何正確地呼叫需要傳入 string[] 引數的 ASP.NET WebService 方法?
![如何正確地呼叫需要傳入 string[] 引數的 ASP.NET WebService 方法?](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1738222533820%2F2fe068dc-e547-4f30-a6ee-582c72714836.png&w=3840&q=75)
假設我們有一個 ASP.NET WebService (.asmx)方法,這個方法需要傳入 string[] 型態的資料,其宣告如下:
[WebMethod]
public string ConcatString(string[] strArray)
{
return string.Join(", ", strArray);
}
若我們想從其他專案中呼叫這個 WebService 方法,我們需要先加入服務參考。在此之前,我們可能會誤以為 ConcatString() 方法需要傳入 string[],因此可能會這樣呼叫:
var client = new WebService1SoapClient();
var input = new string[] { "a", "b", "c" };
var result = client.ConcatString(input); // 錯誤寫法
然而,這樣會導致編譯器報錯。IntelliSense 會提示我們應該傳入一個 ArrayOfString 型別。

根據 IntelliSense 的提示,我們應該這樣修改程式碼:
var client = new WebService1SoapClient();
var input = new string[] { "a", "b", "c" };
var arrayOfString = new ArrayOfString();
arrayOfString.AddRange(input);
var result = client.ConcatString(arrayOfString);
通過上述修改,我們就能正確地呼叫需要傳入 string[] 引數的 ASP.NET WebService 方法。
參考資料:






