簡體   English   中英

如何使用Task輸出字符串值 <bool> C#中的功能

[英]How can out string values with Task<bool> function in C#

如何在C#中使用Task函數輸出字符串值,我需要修復此代碼才能返回沒有字符串值的Task

public Task<bool> DelUserTemp(string UserID, int FingerIndex ,out string result)
{
    return Task.Run(() =>
    {
        if (true)
        {
            result = "done";
            return true;
        }
        else
        {
            result = "error";
            return false;
        }
    });
}

使用ref / out的替代方法是返回C#7.0元組

public Task<(bool Worked, string Result)> DelUserTemp(string UserID, int FingerIndex)
{
    return Task.Run(() =>
    {
        if (true)
        {
            return (true, "done");
        }
        else
        {
            return (false, "error");
        }
    });
}

另一個示例是創建class並返回它:

public class MyResult
{
    public bool Succeeded {get;}
    public string ErrorMessage {get;}

    public MyResult(bool succeeded, string errorMessage)
    {
        Succeeded = succeeded;
        ErrorMessage = errorMessage;
    }
}

public Task<MyResult> DelUserTemp(string UserID, int FingerIndex ,out string result)
{
    return Task.Run(() =>
    {
        if (true)
        {
            return new MyResult(true, "done");
        }
        else
        {
            return new MyResult(false, "error");
        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM