guid? を guid に変換するにはどうすればいいですか? 質問する

guid? を guid に変換するにはどうすればいいですか? 質問する

null 許容の GUID ( guid?) を に変換するにはどうすればよいですかguid? 私の意図は、null 許容の Guid のリストを Guid リストに変換することです。

ベストアンサー1

次の演算子を使用します??

public static class Extension
{
   public static Guid ToGuid(this Guid? source)
   {
       return source ?? Guid.Empty;
   }

   // more general implementation 
   public static T ValueOrDefault<T>(this Nullable<T> source) where T : struct
   {
       return source ?? default(T);
   }
}

あなたはこれを行うことができます:

Guid? x = null;
var g1 = x.ToGuid(); // same as var g1 = x ?? Guid.Empty;
var g2 = x.ValueOrDefault(); // use more general approach

aa リストがあり、null をフィルター処理したい場合は、次のように記述します。

var list = new Guid?[] {
  Guid.NewGuid(),
  null,
  Guid.NewGuid()
};

var result = list
             .Where(x => x.HasValue) // comment this line if you want the nulls in the result
             .Select(x => x.ValueOrDefault())
             .ToList();

Console.WriteLine(string.Join(", ", result));

おすすめ記事