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

    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
    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
    using System;
    
    public class Test
    {
    
        class R { }
        class A : R { }
        class B : R { }
    
        static void pituh(A x, R y){
            Console.WriteLine("A R");
        }
    
        static void pituh(R x, B y){
            Console.WriteLine("R B");
        }
        
       static void pituh(R x, R y){
            Console.WriteLine("R R");
        }
        
        
    
        static void d(R x, R y)
        {
            dynamic a = x;
            dynamic b = y;
            pituh(a, b);
        }
    
        public static void Main(string[] args)
        {
        	d(new A(),new R());
        	d(new A(),new B()); //Runtime error
    	d(new B(),new A()); //Runtime error
    	
        }	
    }

    Пробуем мультиметоды в до-диезе.
    https://ideone.com/Jm5LJA

    3.14159265, 09 Марта 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    // Имитируем бурную деятельность. 
    Thread.Sleep(500);
    // В реальности здесь будут байты собранной dll-ки. 
    return Encoding.UTF8.GetBytes(_fileName);

    https://github.com/UKST/compiler/blob/074760eb20a13238f1d358a27305617291351854/Compiler.Lib/Compiler.cs#L16

    dm_fomenok, 09 Марта 2018

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    while(true) 
    {
        i++;
        if (i > Int32.MaxValue - 10)
        {
            MessageBox.Show("Зациклилось!");
            break;
        }
    }

    mazhuravlev, 22 Февраля 2018

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public static class TaskExtension
    	{
    		// Silences compiler warning: Because this call is not awaited,
    		// execution of the current method continues before the call is completed.
    		// Consider applying the 'await' operator to the result of the call
    		[MethodImpl(MethodImplOptions.AggressiveInlining)]
    		public static void NoWarning(this Task task) { }
    	}

    Коллеги добавили в код после введения правила treat warnings as errors

    cherepets, 25 Января 2018

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

    −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
    private void button1_Click(object sender, EventArgs e)
            {
    textBox3.Clear();
    textBox4.Clear();
    
    Stringstr = textBox2.Text;
    String code = textBox1.Text;
    
    int size = str.Length;
    char[] s = newchar[size];
    
    if (size == 0) { textBox4.Text = "Ошибка! Вы не ввели исходный текст для шифрования."; return; }
    
    intsize C = code.Length;
    char[] sC = new char[sizeC];
    
    if (sizeC == 0) { textBox4.Text = "Ошибка! Вы не ввели ключевое слово."; return; }
    
    int[] secret = new int[sizeC];
    int[] string1 = new int[size];
    
    for (inti = 0; i< size; i++)
    s[i] = str[i];
    
    for (inti = 0; i<sizeC; i++)
    sC[i] = code[i];
    
    int j = 0;
    
    for (inti = 0; i<sizeC; i++)
                {
                    j = 0;
    while (j != kolAl)
                    {
    if (sC[i] == Al[j]) { secret[i] = j + 1; break; }
    j++;
                    }
                }
    
    for (inti = 0; i< size; i++)
                {
                    j = 0;
    while (j != kolAl)
                    {
    if (s[i] == Al[j]) { string1[i] = j; break; }
    j++;
                    }
                }
    
    char[] finish = newchar[size];
    int x = 0;
    
    for (inti = 0; i< size; i++)
                {
    if (Al.Length<= string1[i] + secret[x])
                    {
    finish[i] = Al[string1[i] + secret[x] - Al.Length];
                    }
    else { finish[i] = Al[string1[i] + secret[x]]; }
    
    x++;
    
    if (x == secret.Length) x = 0;
    
                    textBox3.Text += finish[i];
                }
                textBox4.Text = "Шифрованиезавершеноудачно!";
            }

    Одногрупница сделала Шифр Вижинера
    https://ru.wikipedia.org/wiki/Шифр_Виженера
    Беда в том, что код тоже представляет из себя шифр.
    Сделал сам, получилось 4 строчки на зашифровку и 4 на расшифровку.
    Я в шоке. Это отличница у нас (4 курс :) *:(*)
    Ладно, это говнище еще можно понять и простить, только там расшифровка функция еще 200 строк, а так же шифровка и расшифровка файла, соответственно по 300 строк. Так и живем.
    Я в академ отпуск.

    GovnoIzJopy, 22 Декабря 2017

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

    +1

    1. 1
    var now = DateTimeOffset.Now.AddHours(-1);

    Почти сейчас.

    vladdy-moses, 16 Декабря 2017

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

    +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
    class Задачи
        {
            public static ФормаМоделирование Форма;
    
            public Задачи(ФормаМоделирование f)
            {
                Форма = f;          
            }
    
            public static void ЗД_1()
            {
                bool Необход_рисов_первой_вертикальной = true;
                int Tконца_отрисовки;
                int тик_рисования;
                int Т_С_буф=Общая_Память.Тсеанса.T1;
              
    t1:
                Системное_ПО.поток_1_старт.WaitOne();
                тик_рисования = Общая_Память.Тик_Таймера;
                Tконца_отрисовки = Общая_Память.Тик_Таймера + Общая_Память.Тсеанса.T1;
                while (true)
                {
                    #region Задача превысила Т сеанса
                                   
                    if (Системное_ПО.Задача_превысила_Т_сеанса.Т1)
                    {
                        Tконца_отрисовки = Общая_Память.Тик_Таймера;
                       Системное_ПО.Задача_превысила_Т_сеанса.Т1 = false;
                        Общая_Память.Тсеанса.T1 = Т_С_буф;
                        Общая_Память.Тсеанса.T1--;
                    }
                    #endregion
                    if (Общая_Память.Флаг_остановка_задачи.T1 == false)
                          {
                        #region Вывод первой вертикальной линии                  
                        if (Необход_рисов_первой_вертикальной)
                              {
                                  for (double i = 0; i <= 1; i += 0.2)
                                      Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(Общая_Память.Тик_Таймера, i); }));
                                   Необход_рисов_первой_вертикальной = false;
                              }
                        #endregion
    
                        #region Вывод последней горизонтальной и вертикальной линии
                        if (Общая_Память.Тик_Таймера == Tконца_отрисовки)
                              {
                                for (double i = тик_рисования; i <= Общая_Память.Тик_Таймера; i += 0.2)
                                    Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(i, 1); }));
                                for (double i = 0; i <= 1; i += 0.2)
                                    Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(Общая_Память.Тик_Таймера, i); }));
                                Необход_рисов_первой_вертикальной = true;
                                Системное_ПО.Задача_выполняется.Т1 = false;
                               //    Общая_Память.Тсеанса.T1++;
                                goto t1;
                          }
                        #endregion
    
                        #region Вывод горизонтальной линии
                        if (тик_рисования != Общая_Память.Тик_Таймера)
                        {
                            for (double i = тик_рисования; i <= Общая_Память.Тик_Таймера; i += 0.2)
                                Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(i, 1); }));
                            тик_рисования = Общая_Память.Тик_Таймера;
    
                        }
                        #endregion
                          }
                    else
                    {
                        #region Вывод Аварийной последней горизонтальной и вертикальной линии
                        for (double i = тик_рисования; i <= Общая_Память.Тик_Таймера; i += 0.2)
                            Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(i, 1); }));
                        for (double i = 0; i <= 1; i += 0.2)
                            Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(Общая_Память.Тик_Таймера, i); }));
                        Необход_рисов_первой_вертикальной = true;
                        Системное_ПО.Задача_выполняется.Т1 = false;
                        break;
                        #endregion
                    }
                    Thread.Sleep(TimeSpan.FromMilliseconds(500));
                }
            }

    Это из чьей-то курсовой. Там весь проект такой.
    Проект нашел на фрилансе и заказчик к ТЗ приложил его как пример того, как надо сделать его курсовую.
    Я думаю, что написавший это стер себе пальцы и кнопки переключения раскладки клавиатуры)
    Может я чего-то не понимаю и знающие люди мне объяснят в чем вообще смысл? зачем?

    camper, 12 Декабря 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    static void Main(string[] args) {
        int ? ival1 = 1;
        Console.WriteLine(ival1.GetType());
        //System.Int32    
    
        int ? ival2 = null;
        Console.WriteLine(ival2.GetType());
        //System.NullReferenceException Ссылка на объект не указывает на экземпляр объекта.         
    }

    Че, пацаны, си шарп?

    KbIC9I-KPbIC9I, 10 Декабря 2017

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private static int CalcCheckSum(byte[] BinFile)
    {
          int length = ((IEnumerable<byte>) BinFile).Count<byte>();
          if (length > 0)
          {
                int num = 0;
                for (int index = 0; index < length; ++index)
                      num = num + (int) BinFile[index] & (int) ushort.MaxValue;
          }
          return num;
    }

    Израильский инновационный вариант rolling hash'а :facepalm:
    Здесь есть всё: и альтернативное определение длины массива, и обилие приведений к инту, и придающая особую таинственность битовая операция &
    На первый взгляд может показаться, что результатом будет простая сумма всех байт, но не дайте себя обмануть! Результат - это суперсекретная(!!!11) сумма всех байт.

    PsychoTeras, 14 Ноября 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public ReadFile(string path)
    {
          byte[] BinFile = File.ReadAllBytes(path);
          if (((IEnumerable<byte>) BinFile).Count<byte>() <= 25)
            return;
          this._Version = BinFile[0].ToString() + "." + BinFile[1].ToString() + "." + BinFile[2].ToString();
    }

    Я вам тут израильского инжиниринга принёс. Читаем файл, читаем версию.
    В этом коде прекрасно всё...

    PsychoTeras, 14 Ноября 2017

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