Type.IsArray Property
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a value that indicates whether the type is an array.
public:
virtual property bool IsArray { bool get(); };
public:
property bool IsArray { bool get(); };
public virtual bool IsArray { get; }
public bool IsArray { get; }
member this.IsArray : bool
Public Overridable ReadOnly Property IsArray As Boolean
Public ReadOnly Property IsArray As Boolean
true
if the current type is an array; otherwise, false
.
The following example demonstrates using the IsArray property.
using System;
using System.Collections;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
Type[] types = { typeof(String), typeof(int[]),
typeof(ArrayList), typeof(Array),
typeof(List<String>),
typeof(IEnumerable<Char>) };
foreach (var t in types)
Console.WriteLine("{0,-15} IsArray = {1}", t.Name + ":",
t.IsArray);
}
}
// The example displays the following output:
// String: IsArray = False
// Int32[]: IsArray = True
// ArrayList: IsArray = False
// Array: IsArray = False
// List`1: IsArray = False
// IEnumerable`1: IsArray = False
open System
open System.Collections
let types =
[ typeof<String>; typeof<int[]>
typeof<ArrayList>; typeof<Array>
typeof<ResizeArray<string>>
typeof<seq<char>> ]
for t in types do
printfn $"""{t.Name + ":",-15} IsArray = {t.IsArray}"""
// The example displays the following output:
// String: IsArray = False
// Int32[]: IsArray = True
// ArrayList: IsArray = False
// Array: IsArray = False
// List`1: IsArray = False
// IEnumerable`1: IsArray = False
Imports System.Collections
Imports System.Collections.Generic
Module Example
Public Sub Main()
Dim types() As Type = { GetType(String), GetType(Integer()),
GetType(ArrayList), GetType(Array),
GetType(List(Of String)),
GetType(IEnumerable(Of Char)) }
For Each t In types
Console.WriteLine("{0,-15} IsArray = {1}", t.Name + ":", t.IsArray)
Next
End Sub
End Module
' The example displays the following output:
' String: IsArray = False
' Int32[]: IsArray = True
' ArrayList: IsArray = False
' Array: IsArray = False
' List`1: IsArray = False
' IEnumerable`1: IsArray = False
The IsArray property returns false
for the Array class. It also returns false
if the current instance is a Type object that represents a collection type or an interface designed to work with collections, such as IEnumerable or IEnumerable<T>.
To check for an array, use code such as:
typeof(Array).IsAssignableFrom(type)
GetType(Array).IsAssignableFrom(type)
If the current type represents a generic type, or a type parameter in the definition of a generic type or generic method, this property always returns false
.
This property is read-only.
Product | Versions |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1 |
UWP | 10.0 |
.NET feedback
.NET is an open source project. Select a link to provide feedback: