1. C# / Говнокод #19248

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static bool IsNullOrEmpty(this string str)
    	{
    		return string.IsNullOrEmpty(str);
    	}
    
    	public static bool IsNotNullOrEmpty(this string str)
    	{
    		return !string.IsNullOrEmpty(str);
    	}

    экономия должна быть экономной

    Запостил: esromhaz, 26 Декабря 2015

    Комментарии (11) RSS

    • Конструкция string.IsNullOrEmpty вызывает слишком сильное чувство "блин, чё так длинно".
      Даже в популярной библиотеке https://github.com/sta/websocket-sharp в классе Ext есть функция IsNullOrEmpty с таким же интерфейсом
      Ответить
      • Это хорошо что extension'ы работают так, а не кидают nullreferenceexception.
        Ответить
        • public static bool IsNullOrEmpty(this string str)
          {
              if (str == null)
                  throw new NullReferenceException();
              return string.IsNullOrEmpty(str);
          }
          Ответить
          • А теперь задумаемся о логике такого кода. Когда строка null я получаю необработанное исключение, хотя ожидал значение true.
            Ответить
    • Напомнило мне когда я писал !true когда лень было менять на false)
      Ответить
    • int true(void)
      { return !false();}
      
      int false(void)
      { return !true();}
      Ответить
    • public static bool IsNotNullOrEmpty(this string str)
      {
      	return string != null || string.IsEmpty;
      }
      Ответить
      • public static bool IsNotNullOrEmpty(this string str)
        {
        	return str != null || str.Length == 0;
        }
        
        public static bool IsNotNullOrNotEmpty(this string str)
        {
        	return str != null || str.Length != 0;
        }
        
        public static bool IsNullOrEmpty(this string str)
        {
        	return str == null || str.Length == 0;
        }
        
        public static bool IsNullOrNotEmpty(this string str)
        {
        	return str == null || str.Length != 0;
        }

        в первых двух случаях получишь nullreferenceexception
        Ответить

    Добавить комментарий