6

List< Guid > を List< Guid に変換するベスト プラクティスは何ですか? >

以下はコンパイルされません。

public List<Guid?> foo()
{
    List<Guid> guids = getGuidsList();
    return guids; 
}
4

5 に答える 5

16

質問は数回変更されたように見えたので、両方の方法で変換を示します。

List<Guid?>に変換List<Guid>:

var guids = nullableGuids.OfType<Guid>().ToList();
// note that OfType() implicitly filters out the null values,
// a Cast() would throw a NullReferenceException if there are any null values

List<Guid>に変換List<Guid?>:

var nullableGuids = guids.Cast<Guid?>().ToList();
于 2013-04-25T10:56:49.927 に答える
7
public List<Guid> foo()
{
    return  foo.Where(x=>x != null).Cast<Guid>().ToList();
}
于 2013-04-25T10:47:13.680 に答える
6

このようなもの

return guids.Select(e => new Guid?(e)).ToList();
于 2013-04-25T10:53:33.617 に答える
2
public List<Guid?> foo()
{
    List<Guid> source = getGuidsList();
    return  source.Select(x => new Guid?(x)).ToList();

}
于 2013-04-25T10:56:00.687 に答える
1

少し異なるアプローチ:

public List<Guid> foo()
{
    return foo.Where(g => g.HasValue).Select(g => g.Value).ToList();
}
于 2013-04-25T10:50:15.397 に答える