We can:
var t=new String(new[] { '繁', '體', '中', '文' });
or
var encoding=Encoding.Unicode;
var bytes=encoding.GetBytes(new[] { 'E', 'n', 'g', 'l', 'i', 's', 'h' });
var t=encoding.GetString(bytes);
Without sometning like:
public static implicit operator String(char[] charArray) {
return new String(charArray);
}
We cannot:
String t=new[] { 'р', 'у', 'с', 'с', 'к', 'и', 'й', '\x20', 'я', 'з', 'ы', 'к' };
I know that character array is not the same as a string; but sometimes I just want to assign a character array to a string directly; without explicit casting, converting or new X(new Y(new Z ...
.
And I think, personally, the reason it's not provided is possibly because:
The C-Sharp team wants the programmers, especially who have experience of C++/C to keep in mind that C-Sharp is NOT as similar as C++ or C.
The question is WHY not? Is that bad?