Замечательный код
От: Pro100Oleh Украина  
Дата: 05.11.10 16:34
Оценка:
Предлагаю в этом топике выкладывать интересные куски кода, которые Вам попадаются. Код пожалуйста выкладывайте как ответ на это сообщение.

Ниже добавляю свою сегодняшнюю находку, смотрите ниже в ответах.
Pro
Re: name != null ? (name.Trim() != null && name.Trim().Lengt
От: Pro100Oleh Украина  
Дата: 05.11.10 16:35
Оценка: :)
    this.Name = name != null ? (name.Trim() != null && name.Trim().Length == 0) ? null : name.Trim() : null;
Pro
Re[2]: name != null ? (name.Trim() != null && name.Trim().Le
От: divergo  
Дата: 06.11.10 08:29
Оценка:
Здравствуйте, 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;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.