次のような方法があります。
public void DoIt(params MyEnum[] channels)
{
}
params で列挙型の int 値を取得する方法はありますか?
試してみvar myInts = channels.Select(x => x.Value)
ましたが、うまくいきませんでした
var myInts = channels.Cast<int>();
LINQ を使用せずに同じことを行う別の方法:
var vals = Array.ConvertAll(channels, c =>(int)c);
select 句でキャストを実行できます。
var myInts = channels.Select(x => (int)x);
var myInts = channels.Select(x=x.Value)
=
する必要があるため、これは機能しません=> (int)x
私はvar myInts = channels.Select(x => (int)x).ToArray();
あなたが望むことをすると思います。
これはそれを行う必要があります:
public void DoIt(params MyEnum[] channels)
{
int[] ret = channels.Select(x => ((int)x)).ToArray();
}
あなたがすることができます:
var myInts = channels.Select(e => (int)e);
またはLINQクエリとして:
var myInts = from e in channels select (int)e;
次に、またはを呼び出して、またはを取得できToArray()
ます。ToList()
myInts
MyEnum[]
List<MyEnum>