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)
  2. C# / Говнокод #19242

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    langDict0.Add(eng , new string[] { ger, fre, spa, chi, rus, jap, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(ger , new string[] { eng, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(fre , new string[] { eng, ger, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(spa , new string[] { eng, ger, fre, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(chi , new string[] { eng });
    langDict0.Add(rus , new string[] { eng });
    langDict0.Add(jap , new string[] { eng });
    langDict0.Add(por , new string[] { eng, ger, fre, spa, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(ita , new string[] { eng, ger, fre, spa, por, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(dut , new string[] { eng, ger, fre, spa, por, ita, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(pol , new string[] { eng, ger, fre, spa, por, ita, dut, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal  });
    langDict0.Add(swe , new string[] { eng, ger, fre, spa, por, ita, dut, pol, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(dan , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(fin , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(gre , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(cze , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(rom , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(hun , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(slvk, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, bul, slvn, lit, lat, est, mal });
    langDict0.Add(bul , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, slvn, lit, lat, est, mal });
    langDict0.Add(slvn, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, lit, lat, est, mal });
    langDict0.Add(lit , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lat, est, mal });
    langDict0.Add(lat , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, est, mal });
    langDict0.Add(est , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, mal });
    langDict0.Add(mal, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est });

    ffff, 25 Декабря 2015

    Комментарии (11)
  3. C# / Говнокод #19236

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    DataControl.b1.   PointerReleased += async (a, b) => { await action(DataControl.b1); };
    DataControl.b2.   PointerReleased += async (a, b) => { await action(DataControl.b2); };
    DataControl.b3.   PointerReleased += async (a, b) => { await action(DataControl.b3); };
    DataControl.b4.   PointerReleased += async (a, b) => { await action(DataControl.b4); };
    DataControl.sub41.PointerReleased += async (a, b) => { await action(DataControl.b1); };
    DataControl.sub42.PointerReleased += async (a, b) => { await action(DataControl.b2); };
    DataControl.sub43.PointerReleased += async (a, b) => { await action(DataControl.b3); };
    DataControl.sub44.PointerReleased += async (a, b) => { await action(DataControl.b4); };

    ffff, 25 Декабря 2015

    Комментарии (0)
  4. C# / Говнокод #19226

    +1

    1. 1
    _workflowQueue = new Queue<IWorkflowInfo>(_workflowQueue.Where(w => !(w == workflow || w.WorkflowGuid == workflow.WorkflowGuid)));

    Вот как надо делать, если из очереди нужно удалить произвольный элемент.
    Использовать List?! Это для слабаков!

    delph_er, 24 Декабря 2015

    Комментарии (0)
  5. C# / Говнокод #19201

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    static int Cols (double[,] Arr, out int rows)
    {
    int n = Arr.GetLength(0);
    int m = Arr.GetLength(1);
    rows=0;
    
    int i=0;
    int j=0;
    
    for (; j < m;j++)
    {
    
    i = 0;
    while (i < n-1 & Arr[i, j] < (Arr[i+1 , j]))
    {
    i++;
    }
    if (i == n-1)
    rows++;
    }
    int k = 0;
    i = 0;
    for (; i < n; i++)
    {
    j = 0;
    
    while (j < m-1 & Arr[i, j] < (Arr[i, j+1 ]))
    {
    j++;
    }
    if (j == m - 1)
    k++;
    }
    return k;
    }

    Govno_Coder, 18 Декабря 2015

    Комментарии (2)
  6. C# / Говнокод #19193

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    public void CreateContract( string session_id, string sOrganizationCode, string sOrganizationName, string sContractNumber, string sClientCode, string sClientName, 
    double dSum , string sCurrencyCode, string sCurrencyName, double dSumUSD, string sdateContractDate, string sdateContractDueDate, string sResponsibleCode,
    string sResponsibleName, string sCuratorCode, string sCuratorName, string sContractType, string sProjectCode, string sDocName	, out int nDocNumber, out string sURL,
    string sSuperiorContract, string sProtocolNum, string sProcurementType, string sTRU){
                    nDocNumber = 0;
    		sURL = string.Empty;
                  BusinessObject business_object = LoadBusinessObject(session_id);
    
               if (business_object == null)
                goto end_of_method;
    try
    		{
    			business_object.CreateContract(sOrganizationCode, sOrganizationName,sContractNumber,sClientCode,sClientName,dSum,sCurrencyCode,sCurrencyName,
                                                    dSumUSD,sdateContractDate,sdateContractDueDate,sResponsibleCode,sResponsibleName,sCuratorCode,sCuratorName,sContractType,
                                                    sProjectCode,sDocName,ref nDocNumber,ref sURL, sSuperiorContract,sProtocolNum,sProcurementType,sTRU);
    		}
    catch(Exception e)
    		{ //...}
    
        end_of_method:
                 //а дальше код пишет логи)
    }

    Вот такое вот бывает...

    algore, 16 Декабря 2015

    Комментарии (6)
  7. C# / Говнокод #19187

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    DateTime minDate = DateTime.MinValue;
    
    if (IsSaving)
        return mPrognozStartDate;
    
    if (Children.Count > 0)
    {
        var childrens = Children.Cast<BaseDesignObject>().Where(p => p.PrognozStartDate != DateTime.MinValue);
        if (childrens.Count() > 0)
        {
            minDate = childrens.Min(t => t.PrognozStartDate);
        }
    
        return minDate;
    }
    else
    {
        return mPrognozStartDate;
    }

    При наличии детей выдаем минимальную дату, если их нет то собственную...

    Enelar, 15 Декабря 2015

    Комментарии (0)
  8. C# / Говнокод #19182

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    public static CategoryAttribute Build(string category_name, string attribute_type, string attribute_name, object attribute_value)
            {
                try
                {
                    CategoryAttribute document_attribute;
    
                    switch(attribute_type)
                    {
                        case "string":
                        case "double_as_string":
                            document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.String);
                            break;
                        case "string_as_date":
                            document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.DateTime);
                            break;
                        case "int":
                        case "double_as_int":
                            document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.Integer);
                            break;
                        case "double":
                            document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.Double);
                            break;
                        default:
                            throw new ApplicationException("Не верно настроен тип данных атрибута '" + attribute_name + "' категории '" + category_name + "'.");
                    }
    
                    if (attribute_value == null)
                        return document_attribute;// атрибут остался неопределенным
    
                  switch (document_attribute.Type)
                  {
                      case TypeEnum.String:
                            {
                                switch (attribute_type)
                                {
                                    case "string":
                                        {
                                            if (!(attribute_value is string))
                                                throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                                                               + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
                                                                               attribute_type + "'.");
    
                                            document_attribute.sValue = attribute_value as string;
                                        } break;
                                    case "double_as_string":
                                        {
                                            if (!(attribute_value is double))
                                                throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                                                               + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
                                                                               attribute_type + "'.");
    
                                            document_attribute.sValue = ((double)attribute_value).ToString();
                                        } break;
                                }
                            }
                            break;
                            case TypeEnum.Integer:
                            {
                                switch (attribute_type)
                                {
                                    case "int":
                                    {
                                        if (!(attribute_value is int))
                                            throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                                                           + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
                                                                           attribute_type + "'.");
    
                                        document_attribute.iValue = (int)attribute_value;
                                    }   break;
                                    case "double_as_int":
                                    {
                                        if (!(attribute_value is double))
                                            throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                                                           + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
                                                                           attribute_type + "'.");
    
                                        document_attribute.iValue = (int)(double)attribute_value;
                                    }   break;
                                }
                            }
                            break;
                          case TypeEnum.Double:
                            {
                                if (!(attribute_value is float || attribute_value is double || attribute_value is int || attribute_value is long))
                                    throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                        + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" + attribute_type + "'.");
    
                                document_attribute.dValue = (double)attribute_value;
                            }
                            break;
                    }
    
                    return document_attribute;
    
                    catch (Exception e)
                       {
                         //...
                       }
                  }

    Создание объекта типа CategoryAttribute.

    algore, 15 Декабря 2015

    Комментарии (1)
  9. C# / Говнокод #19180

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    namespace ConsoleApplication
    {
        public static class Program
        {
            private static void Main( string[] args )
            {
                new Random().Next( -100, 100 )
                    .Execute( x => Console.Write( $"{x} это " ) )
                    .IfElse( x => x % 2 == 0, () => Console.Write( "четное " ), () => Console.Write( "нечетное " ) )
                    .Execute( () => Console.Write( "число " ) )
                    .IfElse( x => x > 0, () => Console.Write( "больше " ), () => Console.Write( "меньше " ) )
                    .Execute( () => Console.Write( "нуля" ) )
                    .Execute( () => Console.WriteLine() );
            }
        }
    }

    вывод в консоли (прим.): "-88 это четное число меньше нуля"

    Адские экстеншены

    anweledig, 14 Декабря 2015

    Комментарии (12)
  10. C# / Говнокод #19175

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    if (dlgOpen.ShowDialog() != DialogResult.OK) return;
    
                txtLog.Clear();
                string customXMLFileName = dlgOpen.FileName;
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(customXMLFileName);
               
                foreach (XmlNode node in xmlDoc.DocumentElement.ChildNodes)
                {
                   
                    if (node.Name == "Surfaces")
                       {
    
                        foreach (XmlNode childNode in node.ChildNodes)
                        {
                            txtLog.AppendText(childNode.Name.ToString() + Environment.NewLine);
    
                            foreach (XmlNode _childNode in childNode.ChildNodes)
                            {
                                if (_childNode.Name == "SourceData")
                                {
                                    foreach (XmlNode __childNode in _childNode.ChildNodes)
                                    {
                                        txtLog.AppendText(__childNode.Name.ToString() + Environment.NewLine);
                                        if (__childNode.Name == "Breaklines")
                                        {
                                            foreach (XmlNode ___childNode in __childNode.ChildNodes)
                                            {
                                                txtLog.AppendText(___childNode.Name.ToString() + Environment.NewLine);
                                                XmlNode dataNode = ___childNode.LastChild;
                                                string txtData = dataNode.InnerText;
                                                txtLog.AppendText(txtData + Environment.NewLine);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                   }
                }

    Невнимательное чтение MSDN привело к такому плачевному результату. А всего лишь хотелось прочитать значение дочерних нод Breaklines....
    GetElementsByTagName в помощь....

    Thrasher1980, 12 Декабря 2015

    Комментарии (2)