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

    +131

    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
    try
                {
                    m = (int)Convert.ToInt32(num[1]);
                }
                catch
                {
                    Console.WriteLine("Invalid parametr");
                    return true;
                }
    
    //...................................................
                  try
                        {
                            matrix[i, j] = (float)Convert.ToDouble(num[j]);
                            
                        }
                        catch
                        {
                            Console.WriteLine("Invalid matrix");
                            return false;
                        }

    Лаба одногруника...

    Michigan, 09 Ноября 2013

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

    +130

    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
    DataTable newTable = new DataTable();
    newTable.Columns.Add("id");
    newTable.Columns.Add("type");
    
    DataRow empty_row = newTable.NewRow();
    empty_row["id"] = 0;
    empty_row["type"] = "--- Все графики ---";
    newTable.Rows.Add(empty_row);
    
    for (int i = 0; i < tPayDays.Rows.Count; i++)
    {
          if (tPayDays.Rows[i]["id"].ToString() != "11")
          {
                 DataRow new_row = newTable.NewRow();
                 new_row["id"] = tPayDays.Rows[i][0].ToString();
                 new_row["type"] = tPayDays.Rows[i][1].ToString();
                 newTable.Rows.Add(new_row);
           }
    }

    Выкручивался как мог.
    Мало того, дальше в коде айдишник стал стрингового типа и стало еще веселей.

    pipjaka, 20 Октября 2013

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

    +135

    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
    if (btnFromRecorder.Text == "Запись с микрофона")
                    {
                        _Recorder._OnlyAudioReconition.StartRecognition();
                        btnFromRecorder.Text = "Остановить запись";
    
                        // запускаем ожидающий поток
                        _stateOfWaitingThread = StateOfWaitingThread.UsedByRecorder;
    
                        // запуск потока
                        _ThreadWaitingForEndOfProcess = new Thread(ThreadWaitingForEndOfPlayingProcessing);
                        _ThreadWaitingForEndOfProcess.Name = "ThreadWaitingForEndOfProcess";
                        _ThreadWaitingForEndOfProcess.Start();
                    }
                    else
                    {
                        _Recorder._OnlyAudioReconition.FinishRecognition();
                        btnFromRecorder.Text = "Запись с микрофона";
                    }

    вот, нашелся кусочек старого говнеца от бывшего насяльника. Из серии - зачем нам лишние булевы переменные в коде. + важное замечание _OnlyAudioReconition - это поле... public поле... Инкапсуляция? неее, не слышали.:-))))

    CraxyFright, 19 Октября 2013

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

    +126

    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
    using System.Management;
    
    try
    {
        ManagementObjectSearcher searcher =
            new ManagementObjectSearcher("root\\CIMV2",
            "SELECT * FROM Win32_DiskDrive");
    
        foreach(ManagementObject queryObj in searcher.Get())
        {
            foreach(ManagementObject o in queryObj.GetRelated("Win32_DiskPartition"))
            {
                foreach(ManagementBaseObject b in o.GetRelated("Win32_LogicalDisk"))
                {
                    Debug.WriteLine("    #Name: {0}", b["Name"]);
                }
            }
            // One of: USB, IDE
            Debug.WriteLine("Interface: {0}", queryObj["InterfaceType"]);
            Debug.WriteLine("--------------------------------------------");
        }
    }
    catch (ManagementException f)
    {
        Debug.WriteLine(f.StackTrace);

    Тру кодер изобрел собственный способ получения сведений о дисках.

    WinApi для петушков.

    Stertor, 16 Октября 2013

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

    +134

    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
    private void FormBackUpFlash_Load(object sender, EventArgs e)
      {
       DriveInfo[] allDrives = DriveInfo.GetDrives();
       foreach (DriveInfo d in allDrives)
       {
        if (d.DriveType == DriveType.Removable)
        {
         bool thisIsDisketa = false;
         if (d.Name.Contains("A:")) thisIsDisketa = true;
         if (d.Name.Contains("B:")) thisIsDisketa = true;
    
         if (thisIsDisketa)
          continue;
         else
          listBoxDevice.Items.Add(d);
        }
       }
       if (listBoxDevice.Items.Count > 0)
       {
        StatusLabel.ForeColor = Color.Blue;
        StatusLabel.Text = "Готово!";
        listBoxDevice.SelectedIndex = 0;
       }
       else
       {
        buttonWrite.Enabled = false;
        StatusLabel.ForeColor = Color.Red;
        StatusLabel.Text = "Подходящих устройств нет!";
       }
      }
    
      private void buttonWrite_Click(object sender, EventArgs e)
      {
       try
       {
        DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
        pathDst = Path.Combine(drv.Name, "PROJECTNAME_Backup");
        if (!Directory.Exists(Path.Combine(drv.Name, "PROJECTNAME_Backup")))
        {
         Directory.CreateDirectory(pathDst);
        }
        this.Cursor = Cursors.WaitCursor;
        DBMSSQL dbm = new DBMSSQL();
        int i;
        for (i = 0; i < 10; i++)
        {
         if (dbm.BackupDB(Path.Combine(Path.Combine(drv.Name, "PROJECTNAME_Backup"), "DataPROJECTNAMEDataContext.bak"), true))
         {
          MessageBox.Show("Резервная копия создана успешно!", "OK!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
          break;
         }
         Thread.Sleep(1000);
        }
        if (i == 10)
        {
         MessageBox.Show("Ошибка при создании резервной копии!!!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
       }
       catch (Exception e1)
       {
        MessageBox.Show(e1.Message + "\r\nЭкспорт отменен!");
        this.DialogResult = DialogResult.Cancel;
       }
       finally { this.Cursor = Cursors.Default; }
      }
    
      private void listBoxDevice_SelectedIndexChanged(object sender, EventArgs e)
      {
       try
       {
        DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
        labelSizeDevice.Text = drv.AvailableFreeSpace < 1000000000 ?
            string.Format("{0}MB", drv.AvailableFreeSpace / 1000000) :
            string.Format("{0:F2}GB", (float)drv.AvailableFreeSpace / 1000000000.0);
       }
       catch (Exception e1)
       {
        MessageBox.Show(e1.Message);
       }
      }

    Три в одном.
    Исключаем флоппи из списка дисков, 10 раз пытаемся создать бэкап и 1000000 байт в мегабайте.

    just_nameless, 15 Октября 2013

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private unsafe bool IsOptionalOutParamSet(out Guid param)
    {
        fixed (Guid* guidPtr = &param)
            return (IntPtr) guidPtr != IntPtr.Zero;
    }

    Ccik, 15 Октября 2013

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

    +129

    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
    #region Work with massive slovo
    
    public string sFileNameMassiveSlovar = "";
    public bool flChangeSlovo = false;
    public int nCountSavedSlovo { get; private set; }
    public int nCountAllSlovo { get; private set; }
    public int nCountAddSlovo { get; private set; }
    public void ClearMassiveSlovo()
    {
      slovo = slovo.Select(n => (byte)0).ToArray();
    }
    
    public int GetCountAllSlovo()
    {
      int npock = nLengthSlovo;
      return slovo.Where((n, index) => index % npock == 0 && n != 0).Count();
    }
    
    public bool WriteMassiveSlovo()
    {
      bool res = false;
      FileStream fs = null;
      try
      {
        fs = File.Open(sFileNameMassiveSlovar, FileMode.Create, FileAccess.Write);
        if (fs != null)
        {
          fs.Write(slovo, 0, nSizeMassiveSlova);
        }
        res = true;
      }
      catch (Exception e1)
      {
        res = false;
        System.Windows.Forms.MessageBox.Show(e1.Message);
      }
      finally
      {
        if (fs != null) fs.Close();
      }
      return res;
    }
    
    #endregion

    just_nameless, 14 Октября 2013

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

    +136

    1. 1
    2. 2
    3. 3
    if (ds2.Rows[l]["MIMETYPE"].ToString().Length >= 5 && ds2.Rows[l]["MIMETYPE"].ToString().Substring(0, 5).ToLower() == "image"){
     //  кучка гуана
    }

    Наверное определяется тип вложения.
    Path для лохов

    bars, 09 Октября 2013

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

    +139

    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
    public class Switch
        {
            public Switch(object switchElement)
            {
                Object = switchElement;
            }
    
            public object Object{get; private set; }
        }
    
        public static class SwitchExtensions
        {
            public static Switch Case<T>(this Switch switchCase, Func<T, bool> isTrue, Action<T> action) where T : class
            {
                return Case(switchCase, isTrue, action, false);
            }
    
            public static Switch Case<T>(this Switch switchCase, Func<T, bool> isTrue, Action<T> action, bool fallThrough) where T : class
            {
                if (switchCase == null)
                    return null;
    
                var obj = switchCase.Object as T;
    
                if (obj != null)
                    if (isTrue(obj))
                    {
                        action(obj);
                        return fallThrough ? switchCase : null;
                    }
    
                return switchCase;
            }
        }
    
    
               //пример использования
    
                IImporter<AccountModel> result = null;
    
                new Switch(type)
                    .Case<string>(x => x == ".xls", y => result = new ExcelImporter())
                    .Case<string>(x => x == ".csv", y => result = new CsvImporter());
    
                return result;

    У нас будет свой Switch/Case с преферансом, куртизанками и экстеншен методами

    Tessen, 09 Октября 2013

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var regex = new Regex(@"{[\w\d]+}");
    
    var keys = (regex.Matches(m_Format.Format)
          .Cast<object>()
          .Select(match => match.ToString()
          .Replace("{", ""))
          .Select(replace => replace.Replace("}", "")))
          .ToList();

    Tessen, 09 Октября 2013

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