Type.IsArray Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, показывающее, является ли тип массивом.
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
, если текущий тип является массивом; в противном случае — значение false
.
Реализации
Примеры
В следующем примере показано использование IsArray свойства .
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
Комментарии
Свойство IsArray возвращает false
для Array класса . Он также возвращает значение false
, если текущий Type экземпляр является объектом, представляющим тип коллекции, или интерфейсом, предназначенным для работы с коллекциями, например IEnumerable или IEnumerable<T>.
Чтобы проверить наличие массива, используйте следующий код:
typeof(Array).IsAssignableFrom(type)
GetType(Array).IsAssignableFrom(type)
Если текущий тип представляет универсальный тип или параметр типа в определении универсального типа или универсального метода, это свойство всегда возвращает false
.
Это свойство доступно только для чтения.