c # объект общего использования без приведения? - PullRequest
0 голосов
/ 06 октября 2011
object s;
s = "abc";
int n = ((string)s).Length;

Есть ли способ избежать необходимости использовать приведение в 3-й строке?

edit: «строка» и «длина» являются лишь примерами и могут отличаться.

edit: дополнительно прояснил в отношении var и dynamic, разбив первую строку, чтобы больше соответствовать моим требованиям.

Ответы [ 3 ]

5 голосов
/ 06 октября 2011
dynamic s = "abc";
int n = s.Length;
1 голос
/ 06 октября 2011

Вы можете сделать это:

int n = s.ToString().Length;
0 голосов
/ 06 октября 2011

Вы можете использовать .ToString (), который есть на всех объектах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...