Как отличить это, типом является ValueType Или RefereceType?

Синтаксис делегата развился по последовательным версиям C#, но я все еще нахожу их трудными помнить. К счастью, Action<> и Func<> делегатов легко помнить.

, Например:

  • Action<int> метод делегата, который берет единственный международный аргумент и возвращается пусто.
  • Func<int> метод делегата, который не берет аргументов и возвращается, интервал
  • Func<int, bool> является методом делегата, который берет единственный международный аргумент и возвращает bool.

Эти функции были представлены в версии 3.5 платформы.NET.

5
задан meagar 27 February 2010 в 03:52
поделиться

2 ответа

Все структуры, перечисления и собственные типы являются типами значений.

Во время выполнения вы можете проверить это следующим образом:

Type type = typeof(TypeName);

if (type.IsValueType) 
{ 
   //...
}
7
ответ дан 13 December 2019 в 19:33
поделиться

Строки не являются типами значений.

Вот список наиболее часто используемых типов значений :

  • bool (System.Boolean)
  • byte (System.Byte)
  • char (System.Char)
  • десятичный (System.Decimal)
  • double (System.Double)
  • float (System.Single)
  • int (System.Int32)
  • длинный (System.Int64)
  • sbyte (System.SByte)
  • короткий (System.Int16)
  • uint (System.UInt32)
  • ulong (System.UInt64)
  • ushort ( System.UInt16)
  • System.DateTime

Помимо этих:

  • Любой тип, являющийся перечислением
  • Любой тип, являющийся структурой

Все остальные типы являются ссылочными.

4
ответ дан 13 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: