Предлагаю в этом топике выкладывать интересные куски кода, которые Вам попадаются. Код пожалуйста выкладывайте как ответ на это сообщение.
Ниже добавляю свою сегодняшнюю находку, смотрите ниже в ответах.
this.Name = name != null ? (name.Trim() != null && name.Trim().Length == 0) ? null : name.Trim() : null;
Здравствуйте, Pro100Oleh, Вы писали:
PO>PO> this.Name = name != null ? (name.Trim() != null && name.Trim().Length == 0) ? null : name.Trim() : null;
PO>
Это в какой ситуации Trim вернет null?
Из рефлектора:
public string Trim()
{
return this.TrimHelper(2);
}
private string TrimHelper(int trimType)
{
в этом методе только одна точка выхода
...
return this.CreateTrimmedString(start, end);
}
private string CreateTrimmedString(int start, int end)
{
int length = (end - start) + 1;
if (length == this.Length)
{
return this;
}
if (length == 0)
{
return Empty;
}
return this.InternalSubString(start, length, false);
}
static String()
{
Empty = "";
}
private unsafe string InternalSubString(int startIndex, int length, bool fAlwaysCopy)
{
if (((startIndex == 0) && (length == this.Length)) && !fAlwaysCopy)
{
return this;
}
string str = FastAllocateString(length);//недостаточно памяти???
fixed (char* chRef = &str.m_firstChar)
{
fixed (char* chRef2 = &this.m_firstChar)
{
wstrcpy(chRef, chRef2 + startIndex, length);
}
}
return str;
}