2017-05-12 3 views
3

[OK]を、私は.NET 4.6で、この単純なプログラムを持って言うことができます。したがって、.NET 4.7には新しいTuple値型があります。したがって、これを変換すると、次のようになります。.NET 4.7はタプルとNULL可能値を返す

using System; 
using System.Threading.Tasks; 

namespace ConsoleApp1 
{ 
    class Program 
    { 
     static async void Main() 
     { 
      var data = await Task.Run(() => 
      { 
       try 
       { 
        return GetResults(); 
       } 
       catch 
       { 
        return null; 
       } 
      }); 

      Console.WriteLine(data); 
     } 

     private static (int,int) GetResults() 
     { 
      return (1, 2); 
     } 
    } 
} 

素晴らしいです!それ以外は機能しません。新しいタプル値の型はnullableではないので、コンパイルされません。

誰でも、値型タプルを渡したいが、結果がnullでもかまいません。 asyncMain()機能で許可されていませんので、あなたのコードはいえコンパイルされないでしょう

private static (int,int)? GetResults() 
{ 
    return (1, 2); 
} 

:あなたはGetResults()関数NULL可能の戻り値の型を作ることができ? NULL可能タイプの演算子を追加することにより

答えて

3

。 (代わりにMain()の別の関数を呼び出してください)

+0

メインメソッドから非同期メソッドを呼び出す方法:https://blogs.msdn.microsoft.com/benjaminperkins/2017/03/08/how-to-call-an-async -method-from-a-console-app-main-method/ –

+0

私はそれを行うことができることを知らなかった!意味をなさない本当にありがとう! – Kelly

関連する問題