простой вопрос по C#

Moderator: Little Muk

Post Reply
User avatar
sergNN
Posts: 2695
Joined: 23 Sep 2011, 21:50

простой вопрос по C#

Post by sergNN »

вот есть
DateTime pStichtag, DateTime? pCalcDate, DateTime buchungsTagMatch

почему

Code: Select all

DateTime buchungsTagMatch = pCalcDate.HasValue ? pCalcDate.Value : pStichtag;
или

Code: Select all

DateTime  buchungsTagMatch = (null != pCalcDate) ? pCalcDate.Value : pStichtag;
не работает, зато вот это работает всегда:

Code: Select all

if (null != pCalcDate)
{
  buchungsTagMatch = pCalcDate.Value;
}
else
{
  buchungsTagMatch = pStichtag;
}
не работает - значит в случае нулевого pCalcDate не присваивается pStichtag. Присваивается какая-то хрень по умолчанию.
Если йето было б так то счастливы те мужчины, только равнозначность в понимании таких как ты, отлично от реалий по совести. (c) проц
User avatar
Джимми
Posts: 8239
Joined: 20 Jan 2012, 17:02
Location: Одесса-Rheinbach

Re: простой вопрос по C#

Post by Джимми »

вроде все правильно
может pStichtag неправильно инициализирован
потому что Джим каждое утро делает зарядку
User avatar
sergNN
Posts: 2695
Joined: 23 Sep 2011, 21:50

Re: простой вопрос по C#

Post by sergNN »

это было б слишком просто...
С одними тест-данными проверял.
я сначала думал что я устал, позвал друга. теперь нас двое "уставших" :-)
чепуха какая-то...
Если йето было б так то счастливы те мужчины, только равнозначность в понимании таких как ты, отлично от реалий по совести. (c) проц
User avatar
Джимми
Posts: 8239
Joined: 20 Jan 2012, 17:02
Location: Одесса-Rheinbach

Re: простой вопрос по C#

Post by Джимми »

сделай декомпиляцию
ILSpy
потому что Джим каждое утро делает зарядку
User avatar
sergNN
Posts: 2695
Joined: 23 Sep 2011, 21:50

Re: простой вопрос по C#

Post by sergNN »

чтоб понять внутреннюю реализацию ?
Если йето было б так то счастливы те мужчины, только равнозначность в понимании таких как ты, отлично от реалий по совести. (c) проц
Igor V. Protsenko
Posts: 4876
Joined: 28 May 2012, 19:38

Re: простой вопрос по C#

Post by Igor V. Protsenko »

DateTime buchungsTagMatch = ((null != pCalcDate) && pCalcDate.HasValue) ? pCalcDate.Value : pStichtag;
User avatar
sergNN
Posts: 2695
Joined: 23 Sep 2011, 21:50

Re: простой вопрос по C#

Post by sergNN »

ха. ты расписал как надо писать, чтоб чисто работало присвоение pCalcDate,
а ты разъясни почему не работает присавоение pStichtag'a в случае когда pCalcDate есть NULL.
Если йето было б так то счастливы те мужчины, только равнозначность в понимании таких как ты, отлично от реалий по совести. (c) проц
Post Reply