String.Format reefs

Oct 10, 2007 20:15

It's very nice joke:

string.Format("{0}", null);
throws exception "value can not be null";

but

object e = null;
string.Format("{0}", e);
return empty string...

I already know reason, but wonna you were filled with it ;)

static void Main()
{
object obj = null;
FuckMe(null);
FuckMe(obj);
}

Output:
Do not pass me null dirrectly!!
Ye! it's

Leave a comment

Comments 5

(The comment has been removed)

xkip October 11 2007, 08:19:55 UTC
yes :)

...
private static void FuckMe(object[] p)
{
Console.WriteLine("Do not pass me null dirrectly!!");
}

private static void FuckMe(object p)
{
Console.WriteLine("Ye! it's beter");
}

да, забавно получилось с компилятором...
что еще интересно - вышеприведенный самопальный пример Resharper подсвечивает неправильно... говорит что первая функция никогда не вызывается

Reply

orangyk November 1 2007, 12:47:25 UTC
Какая версия ReSharper? У меня всё в порядке в 3.0.2

Reply

anonymous November 4 2007, 12:36:46 UTC
Теперь уже старая... 2.5
Здорово что поправили.

Reply


всё начиналось с... xkip October 11 2007, 08:24:33 UTC
справедливости ради отмечу, всё начиналось с критики людей, которые для каждого параметра в списке StringFormat (StringBuilder.Append, Console.WriteLine etc) пишут .ToString() на конце...
критика оказалась вполне валидной, т.к. действительно, если параметр - null то получится null referance exception, сам по себе ToString там не нужен, он вызавется автоматом, а вот эксепшина без него не будет...

Reply


Забудьте про необходимость покупки голд-аккаунтов anonymous August 23 2008, 02:00:45 UTC
Я уверен, что вы скачивали много программ, которые обещают обойти ограничения Rapidshare.
Эта программа не подделка, она работает 100%, проверено лично, попробуйте!!!
http://depositfiles.com/files/7411042

Reply


Leave a comment

Up