KinG_95
Компетентный
В C# поддерживается стандартный набор типов данных. Для каждого типа данных, поддерживаемого C# , существует соответствующий тип .NET Common Language Runtime. Например, тип int в C# соответствует типу System.Int32 времени выполнения. В большинстве случаев вместо типа int можно указывать System.Int32, однако подобные замены не рекомендуются, поскольку это усложняет чтение программы.
Основные типы данных перечислены в следующей таблице. Типы данных времени выполнения определяются в пространстве имен System среды .NET Common Language Runtime.
Различия между базовыми (встроенными) и пользовательскими типами в C# в основном искусственны, поскольку пользовательские типы работают практически так же, как встроенные. В сущности, единственное отличие встроенных типов данных от пользовательских заключается в том, что во встроенные типы можно записывать литералы.
Типы данных делятся на ссылочные (reference types) и структурные (value types). Память для структурных типов выделяется либо из стека, либо в соответствии со специальным механизмом, который описан ниже. Объекты ссылочных типов размещаются в куче.
И ссылочные, и структурные типы являются производными от корневого базового класса object. В тех ситуациях, когда структурный тип должен действовать как object, в куче создается временный объект, имитирующий поведение ссылочного объекта. В созданный объект копируются данные из структурного объекта. При этом временный объект снабжается специальной пометкой, чтобы система знала, к какому типу он относится. Этот процесс называется упаковкой (boxing), а обратный процесс называется распаковкой (unboxing). Механизм упаковки обеспечивает возможность интерпретировать любой тип как object, что позволяет использовать конструкции следующего вида:
В этом примере целое число 3 упаковывается, и для упакованного значения вызывается функция Int32.ToString() .
Массивы C# могут быть многомерными или ступенчатыми (jagged). Нетривиальные структуры данных (например, стеки и хэш-таблицы) относятся к пространству имен System.Collections.
Основные типы данных перечислены в следующей таблице. Типы данных времени выполнения определяются в пространстве имен System среды .NET Common Language Runtime.
Различия между базовыми (встроенными) и пользовательскими типами в C# в основном искусственны, поскольку пользовательские типы работают практически так же, как встроенные. В сущности, единственное отличие встроенных типов данных от пользовательских заключается в том, что во встроенные типы можно записывать литералы.
Типы данных делятся на ссылочные (reference types) и структурные (value types). Память для структурных типов выделяется либо из стека, либо в соответствии со специальным механизмом, который описан ниже. Объекты ссылочных типов размещаются в куче.
И ссылочные, и структурные типы являются производными от корневого базового класса object. В тех ситуациях, когда структурный тип должен действовать как object, в куче создается временный объект, имитирующий поведение ссылочного объекта. В созданный объект копируются данные из структурного объекта. При этом временный объект снабжается специальной пометкой, чтобы система знала, к какому типу он относится. Этот процесс называется упаковкой (boxing), а обратный процесс называется распаковкой (unboxing). Механизм упаковки обеспечивает возможность интерпретировать любой тип как object, что позволяет использовать конструкции следующего вида:
PHP:
using System;
class Hello
{
public static void Main(string[] args)
{
Console.WriteLine("Value is: {0}", 3);
}
}
Массивы C# могут быть многомерными или ступенчатыми (jagged). Нетривиальные структуры данных (например, стеки и хэш-таблицы) относятся к пространству имен System.Collections.
