c# - Determine if an object is an array of any type, and access the array length -
i have overridden method has object
parameter. determining if array, , want determine length:
public override bool isvalid(object value) { type type = value.gettype(); if (type.isarray) { return ((object[]) value).length > 0; } else { return false; } }
the problem if value
int[]
, errors when try cast object[]
. there way handle cast work type of array?
cast value
base system.array
class:
return ((array) value).length > 0
by using as
operator, can simplify code further:
public static bool isvalid(object value) { array array = value array; return array != null && array.length > 0; }
note: return true
multidimensional arrays such new int[10, 10]
. if want return false
in case, add check array.rank == 1
.
Comments
Post a Comment