Си диез / Говнокод #1691 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
switch (aDataType.FullName)
			{
				case "System.SByte":	
				case "System.Int16":	
				case "System.Int32":	
				case "System.Int64":	
				case "System.Single":	
				case "System.Double":	
				case "System.Decimal":	
				case "System.DateTime":	
					_IsNumeric = true;
					break;
				case "System.String":   
					_IsNumeric = false;
					break;	
				default:
					throw new ArgumentException("Not supported field data type: " + 
						aDataType.FullName, "aDataType");
			}

Не надо хардкодить названия типов

Запостил: sanya_fs sanya_fs, (Updated )

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

  • Игнорирование беззнаковых типов выдаёт бывшего джависта.
    Ответить
  • А побыстрее эту функцию сделать можно, что-бы определять тип на _IsNumeric и нет. А то сравнение строк - до добра не доведёт...
    Ответить
  • это блять любители свич кес такое задротство пишут
    Ответить
  • Я бы сделал
    static HashSet<Type> numericTypes = new HashSet<Type>(new Type[] { typeof(sbyte), typeof(short), typeof(int), typeof(long), typeof(float), typeof(double), typeof(decimal), typeof(DateTime) });
    Ответить
  • Код, конечно, идиотский.
    А вообще, в C# иногда не хватает switch'а по типу. Было бы здорово, если бы в язык добавили паттерн-матчинг, как в F# и Nemerle.
    Ответить

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8