Класс Array

Написано admin в 20 Июнь 2008 – 21:18 -


Класс Array

Нельзя понять многие детали работы с массивами в C#, если не знать устройство класса Array из библиотеки FCL, потомками которого являются все классы-массивы. Рассмотрим следующие объявления:

//Класс Array

int[] ar1 = new int[5];

double[] ar2 ={5.5, 6.6, 7.7};

int[,] ar3 = new Int32[3,4];

Зададимся естественным вопросом: к какому или к каким классам принадлежат объекты ar1, ar2 и ar3? Ответ прост: все они принадлежат к разным классам. Переменная ar1 принадлежит к классу int[] – одномерному массиву значений типа int, ar2double[] – одномерному массиву значений типа double, ar3 – двумерному массиву значений типа int. Следующий закономерный вопрос: а что общего есть у этих трех объектов? Прежде всего, все три класса этих объектов, как и другие классы, являются потомками класса Object, а потому имеют общие методы, наследованные от класса Object и доступные объектам этих классов. Read more »


Tags: , , , , , , , , , , , , , , , ,
Находится в Учебник | No Comments »

Урок 36. Пример пользовательского атрибута.

Написано admin в 14 Июнь 2008 – 16:20 -


Урок 36. Пример пользовательского атрибута.

Вот пример определения и использования пользовательского атрибута:

using System;
namespace test
{
    //Объявление атрибута.
    [AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)]
    class TestAttribute: System.Attribute
    {
        //Поле атрибута.
        private string name;
        //Конструктор атрибута.
        public TestAttribute(string name)
        {
            this.name = name;
        }
        //Свойство только для чтения.
        public virtual string Name
        {
            get
            {
                return name;
            }
        }
    }
    //Конец объявления атрибута.
    //Применение атрибута к классу.
    [TestAttribute("Igor Aleev")]
    class Test
    {
        static void Main()
        {
            GetAttribute(typeof(Test));
        }
        public static void GetAttribute(Type t)
        {
            TestAttribute att=
                (TestAttribute) Attribute.GetCustomAttribute(t, typeof(TestAttribute));
            Console.WriteLine("{0}", att.Name);
        }
    }
}

Read more »


Tags: , , , , , , ,
Находится в Уроки C# | No Comments »

Вопрос 16. Как получить все значения enum’а?

Написано admin в 14 Июнь 2008 – 15:38 -


Вопрос 16. Как получить все значения enum’а?

Для получения всех значений enum’а следует воспользоваться статическим методом GetNames класса enum.

Пусть, например, мы определили некоторое перечисление так:

    enum MyEnum
    {
        red,
        yellow,
        blue
    };

Read more »


Tags: , , , , , ,
Находится в FAQ по C# | No Comments »

C# — язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков С++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).