我想使用带字符串变量的out参数。
例如:
string Url = "https://docs.microsoft.com/tr-tr/dotnet/csharp/language-reference/keywords/out-parameter-modifier"
string BaseUrl = this.DecompositionUrl(out Url).BaseUrl;
string ServiceUrl = this.DecompositioUrl(out Url).ServiceUrl;
我想使用这样的方法。
public static string DecompositionUrl(out string Urlr)
{
// enter here :
BaseUrl = Urlr.Substring(0,40);
ServiceUrl = Urlr.Substring(40,Urlr.Length);
}
返回DecompositionUrl
后,我想设置BaseUrl
和ServiceUrl
答案 0 :(得分:4)
您需要声明要从方法中返回的两个值的out
参数:baseUrl
和serviceUrl
。源url
需要通过普通参数(而不是out
)传递。
public static void DecompositionUrl(string url, out string baseUrl, out string serviceUrl)
{
baseUrl = url.Substring(0, 40);
serviceUrl = url.Substring(40);
}
然后您将像这样调用您的方法:
string url = "https://docs.microsoft.com/tr-tr/dotnet/csharp/language-reference/keywords/out-parameter-modifier"
DecompositionUrl(url, out var baseUrl, our var serviceUrl);
Console.WriteLine($"Base URL is {baseUrl} and service URL is {serviceUrl}.");
答案 1 :(得分:3)
C#7允许您返回类似这样的方法的结果“元组”
public static (string, string) DecompositionUrl(string url)
{
var baseUrl = ...;
var serviceUrl = ...;
return (baseUrl, serviceUrl);
}
然后您可以像这样使用它
(string baseUrl, string serviceUrl) = DecompositionUrl("https://docs.microsoft.com/tr-tr/dotnet/csharp/language-reference/keywords/out-parameter-modifier");
我认为这比使用out
关键字要好,因为它可以更清楚地显示输入内容和输出内容。