9
私はdynamic
オブジェクトを持っていますが、時にはobject
であり、時にはobject[]
です。動的オブジェクトがC#の配列であるかどうかをチェックする方法は?
動的オブジェクトが配列であるかどうかを確認するにはどうすればよいですか?
私はdynamic
オブジェクトを持っていますが、時にはobject
であり、時にはobject[]
です。動的オブジェクトがC#の配列であるかどうかをチェックする方法は?
動的オブジェクトが配列であるかどうかを確認するにはどうすればよいですか?
使用Type.IsArray
:MSDNから
:だけでなく、演算子 'は' なぜ
int [] array = {1,2,3,4};
Type t = array.GetType();
// t.IsArray == true
Console.WriteLine("The type is {0}. Is this type an array? {1}", t, t.IsArray);
は(私はVisual Studioのデバッガの即時窓に簡単なテストをしました)、それが動作します。 Timの答えが最適かどうかはわかりません。
void foo(object o)
{
if(o is System.Array)
{
//its array
}
}
あなたが正しいと思うのですが、ダイナミック(GetTypeはintellisenseでは表示されません...)ですが、コンパイルしてもうまくいきます。ありがとう – RollRoll