2016-01-15 3 views
-2

Мне просто интересно, как ведут себя предопределенные типы C#.Предопределенные типы C#, как они могут себя вести таким образом?

Учитывая этот пример:

int x= 5; 
x.ToString(); 

известно, что целый тип имеет типа значения, но Интс наследует форму базового класса объектов (например, любой класс в C#), так как может Интсу быть значение типа-классы? есть ли способ сделать пользовательский класс вроде этого (тип значения не ссылочный)?

+11

Любой класс может иметь статические методы. Просто статический класс может иметь статические методы * только *. –

+1

1. Да, вы можете создать свою собственную 'struct'. 2. См. «Статические» методы. – Dmitry

ответ

1

Для создания пользовательских типов значений в C#, создать struct определения как показано ниже:

public struct MyDesiredValueType 
{ 
    public int MyDesiredProperty 
    { 
     get; 
     set; 
    } 

    public MyDesiredValueType(int myDesiredPropertyValue) 
    { 
     this.MyDesiredProperty = myDesiredPropertyValue; 
    } 
} 

Чтобы использовать его,

public class TestMyDesiredValueType 
{ 
    public static void Main(string[] args) 
    { 
     MyDesiredValueType vt = new MyDesiredValueType(20); 
     System.Console.WriteLine(vt.MyDesiredProperty); 
    } 
} 

Для получения более подробной информации о том, как использовать структуры, пожалуйста, обратитесь следующее:

https://msdn.microsoft.com/en-us/library/0taef578.aspx

5

Типы значений определяются с помощью-структуры, например

public struct Int32 

Non статических классов могут иметь статические методы на них, например,

public class string 
{ 
    public static string Format(.... 
} 
Смежные вопросы