String vs string
От: skodnik  
Дата: 27.08.10 09:15
Оценка:
Для чего понадобилось ДВА класса?
Re: String vs string
От: QrystaL Украина  
Дата: 27.08.10 09:17
Оценка:
Здравствуйте, skodnik, Вы писали:

S>Для чего понадобилось ДВА класса?

Класс один — String
string — ключевое слово, псевдоним
Re: String vs string
От: Lloyd Россия  
Дата: 27.08.10 09:17
Оценка:
Здравствуйте, skodnik, Вы писали:

S>Для чего понадобилось ДВА класса?


Он один. Тот который с маленькой буквы — просто алиас для System.String. Зачем так сделали — не знаю.
Re: String vs string
От: nikov США http://www.linkedin.com/in/nikov
Дата: 27.08.10 09:24
Оценка: :))) :))) :))) :))) :))) :)
Здравствуйте, skodnik, Вы писали:

S>Для чего понадобилось ДВА класса?


На самом деле их больше. Ещё есть strinG и STRING, но их можно использовать только из VB.NET.
Re[2]: String vs string
От: Warturtle  
Дата: 27.08.10 09:45
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, skodnik, Вы писали:

S>>Для чего понадобилось ДВА класса?
L>Он один. Тот который с маленькой буквы — просто алиас для System.String. Зачем так сделали — не знаю.

Кстати, с этими алиасами не все чисто, например:

class App
{
    public enum E : int //System.Int32 - не скомпилируется C# 2008 (3.5.30729.1)
    {
        x = 0
    }
    static void Main()
    {
    }
}

— что довольно странно.
Re: String vs string
От: _Ursus_  
Дата: 27.08.10 09:45
Оценка:
Здравствуйте, skodnik, Вы писали:

S>Для чего понадобилось ДВА класса?


Интересно, что бы ты сказал о количестве классов строк в С++ ?

*да, String и string — это синонимы.
Re[3]: String vs string
От: Lloyd Россия  
Дата: 27.08.10 09:47
Оценка:
Здравствуйте, Warturtle, Вы писали:

L>>Он один. Тот который с маленькой буквы — просто алиас для System.String. Зачем так сделали — не знаю.


W>Кстати, с этими алиасами не все чисто, например:


W>
W>class App
W>{
W>    public enum E : int //System.Int32 - не скомпилируется C# 2008 (3.5.30729.1)
W>    {
W>        x = 0
W>    }
W>    static void Main()
W>    {
W>    }
W>}
W>

W>- что довольно странно.

Да я и говорю, мутные они какие-то. Нафик сделали — непонятно.
Может nikov в курсах.
Re[3]: String vs string
От: _Ursus_  
Дата: 27.08.10 09:47
Оценка:
Здравствуйте, Warturtle, Вы писали:


W>
W>    public enum E : int //System.Int32 - не скомпилируется C# 2008 (3.5.30729.1)
W>    {
W>        x = 0
W>    }

W>

W>- что довольно странно.

А шо, точка с запятой после x = 0 не нужна?
Re[4]: String vs string
От: Lloyd Россия  
Дата: 27.08.10 09:48
Оценка:
Здравствуйте, _Ursus_, Вы писали:

W>>- что довольно странно.


_U_>А шо, точка с запятой после x = 0 не нужна?


не нужна.
Re[4]: String vs string
От: nikov США http://www.linkedin.com/in/nikov
Дата: 27.08.10 09:50
Оценка:
Здравствуйте, _Ursus_, Вы писали:

_U_>А шо, точка с запятой после x = 0 не нужна?


Не только не нужна, но и недопустима. А вот запятую поставить можно
Re[4]: String vs string
От: QrystaL Украина  
Дата: 27.08.10 09:50
Оценка:
_U_>А шо, точка с запятой после x = 0 не нужна?
А зачем?
Re: String vs string
От: Nuseraro Россия  
Дата: 27.08.10 09:50
Оценка:
Здравствуйте, skodnik, Вы писали:

S>Для чего понадобилось ДВА класса?


Возможно, потому что многим людям куда принципиальнее писать ли string или String и ставить ли ';', чем программировать ли на императивном или ООП языке.
Homo Guglens
Re[2]: String vs string
От: nikov США http://www.linkedin.com/in/nikov
Дата: 27.08.10 09:59
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>ОТот который с маленькой буквы — просто алиас для System.String.


Маленькое уточнение: это алиас для System.String из mscorlib.
Если определить в своей программе тип System.String, то System.String будет означать его, а string — по прежнему System.String из mscorlib.
Re[3]: String vs string
От: _FRED_ Черногория
Дата: 27.08.10 11:41
Оценка: 2 (1)
Здравствуйте, nikov, Вы писали:

L>>ОТот который с маленькой буквы — просто алиас для System.String.


N>Маленькое уточнение: это алиас для System.String из mscorlib.

N>Если определить в своей программе тип System.String, то System.String будет означать его, а string — по прежнему System.String из mscorlib.

Это вроде как тоже не совсем верно: ведь можно же скомпилить программу на шарпе с /nostdlib, и тогда string будет означать нечно другое. Например, ниже представлен вполне валидный с точки зрения компилятора csc код:
var x = new string();
x.XXX = 0;
Help will always be given at Hogwarts to those who ask for it.
Re: String vs string
От: asimonenko  
Дата: 28.08.10 06:46
Оценка:
S>Для чего понадобилось ДВА класса?

Скорее всего алиас string ввели просто для удобства. Хотя непонятно, конечно, для чего это плодить...
Re: String vs string
От: snoɯʎuouɐ  
Дата: 28.08.10 08:31
Оценка:
Здравствуйте, skodnik, Вы писали:

S>Для чего понадобилось ДВА класса? :shuffle:


Когда что-то не понятно, в первую очередь рекомендуется читать спецификацию:

4.2.4 The string type
...
The keyword string is simply an alias for the predefined class System.String.


Кстати, вот загадка для знатоков спецификации:
В каких местах кода нельзя заменить string на System.String, а в каких — нельзя заменить System.String на string? (случаи, когда они ссылаются на разные типы, а также, когда namespace System скрыт другим именем, не рассматриваем)
Re[3]: String vs string
От: hardcase Пират http://nemerle.org
Дата: 31.08.10 04:52
Оценка:
Здравствуйте, Warturtle, Вы писали:

W>Кстати, с этими алиасами не все чисто, например:


W>
W>class App
W>{
W>    public enum E : int //System.Int32 - не скомпилируется C# 2008 (3.5.30729.1)
W>    {
W>        x = 0
W>    }
W>    static void Main()
W>    {
W>    }
W>}
W>

W>- что довольно странно.

Такова грамматика C#. Можно указывать только псевдонимы интегральных типов для базового типа перечисления.
/* иЗвиНите зА неРовнЫй поЧерК */
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.