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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    try
    {
        int.TryParse(splitString[j], out I[i, j]);
    }
    catch (Exception)
    {
        Console.WriteLine("...");
        break;
    }

    sys2712, 13 Мая 2014

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public static string CapitalizeFirstLetter(this string s)
    {
        if (String.IsNullOrEmpty(s))
            throw new ArgumentException("Stirng is empty");
        return s.First().ToString().ToUpper() + String.Join("", s.Skip(1));
    }

    не ищем легких путей

    baks, 07 Мая 2014

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static bool In<T>(this T t, params T[] values)
    {
    	return t == null ? values.Any(v => v == null) : values.Contains(t);
    }
    
    public static bool NotIn<T>(this T t, params T[] values)
    {
    	return !t.In(values);
    }

    замечательный экстэншн к object

    baks, 07 Мая 2014

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

    +124

    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
    private int MsUntilNextRefresh(DayOfWeek refreshDay, uint refreshHour)
    {
    	int days = 0;
    	if (DateTime.Now.DayOfWeek > refreshDay)
    		days = refreshDay + 7 - DateTime.Now.DayOfWeek;
    	else if (DateTime.Now.DayOfWeek < refreshDay)
    		days = refreshDay - DateTime.Now.DayOfWeek;
    	else
    		days = 7;
    
    	int hours = 0;
    	if (DateTime.Now.Hour > refreshHour)
    	{
    		days--;
    		hours = (int)refreshHour + 24 - DateTime.Now.Hour;
    	}
    	else if (DateTime.Now.Hour < refreshHour)
    	{
    		hours = (int)refreshHour - DateTime.Now.Hour;
    	}
    	return days * 86400000 + hours * 3600000 - DateTime.Now.Minute * 60000 - DateTime.Now.Second * 1000 - DateTime.Now.Millisecond;
    }

    классический индусский код, вместо:

    private int MsUntilNextRefresh(DayOfWeek refreshDay, uint refreshHour)
    {
    var dtnow = DateTime.UtcNow;
    var nextRefreshDate =
    dtnow.Date.AddDays(dtnow.DayOfWeek >= refreshDay ? dtnow.DayOfWeek + 7 - refreshDay : refreshDay - dtnow.DayOfWeek).AddHours(refreshHour);
    return (nextRefreshDate - dtnow).Milliseconds;
    }

    valery_chistyakov, 07 Мая 2014

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (result == true) {
                  return true;
              }
              else { return false; }
              return false;

    не баян, а классика

    dotFive, 03 Мая 2014

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

    +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
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace ConnectToTenderGov
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                Connect connect = new Connect();
                webBrowser1.Navigate("https://tender.me.gov.ua/EDZFrontOffice/menu/ru/");
            
                while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
                    Application.DoEvents();
                webBrowser1.Document.GetElementById("login:login").SetAttribute("value", "***@***.com");
                webBrowser1.Document.GetElementById("login:password").SetAttribute("value", "***");
                webBrowser1.ScriptErrorsSuppressed = true;
                webBrowser1.Document.GetElementById("login:loginButtonPopup").InvokeMember("click");
            }
        }
    }

    Пытался реализовать модуль авторизации, требование - должны были использоваться cookie.

    qstd, 02 Мая 2014

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

    +127

    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.IO;
    
    namespace Slogan
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Выбрать текст из файла (1). Написать самому (2).");
                char ch = Convert.ToChar(Console.ReadLine());
                if (ch == '2')
                {
                    Console.WriteLine("Количество слов");
                    int x = Convert.ToInt32(Console.ReadLine());
                    string[] arr = new string[x];
                    Console.WriteLine("Вводите слова");
                    for (int i = 0; i < arr.Length; i++)
                    {
                        arr[i] = Console.ReadLine();
                    }
                    int count = 0;
                    string slogan = "";
                    do
                    {
                        slogan = "";
                        for (int i = 0; i < arr.Length; i++)
                        {
                            System.Threading.Thread.Sleep(20);
                            Random rnd = new Random();
                            int fr = rnd.Next(0, x);
                            slogan += arr[fr] + " ";
                        }
                        Console.WriteLine(slogan);
                        count++;
                    } while (count != arr.Length);
                }
                else if (ch == '1')
                {
                    string slogan = "";
                    Console.WriteLine("Введите имя пользователя Windows");
                    string user = Console.ReadLine();
                    Console.WriteLine("Введите название файла на рабочем столе");
                    string way = Console.ReadLine();
                    try
                    {
                        string input = File.ReadAllText("c:/users/" + user + "/desktop/" + way);
                        Console.WriteLine("Введите название файла на рабочем столе, куда сохранять");
                        string waytosave = "c:/users/" + user + "/desktop/" + Console.ReadLine();
                        string[] split = input.Split(new Char[] { ' ', ',', '.', ':', '\t' });
                        int counter = 0;
                        do
                        {
                            slogan = "";
                            for (int i = 0; i < split.Length; i++)
                            {
                                System.Threading.Thread.Sleep(20);
                                Random rnd = new Random();
                                int fr = rnd.Next(0, split.Length);
                                slogan += split[fr] + " ";
                            }
                            Console.WriteLine(slogan);
                            File.AppendAllText(waytosave, slogan);
                            counter++;
                        } while (counter != split.Length);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
                Console.ReadLine();
            }
        }
    }

    Выводит получаемые слова случайным образом

    cs-slavgorod, 30 Апреля 2014

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

    +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
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
    private static void LoadSendMethodFromConfig()
    {
        if (!sendMethod.HasValue)
        {
            sendMethod = SendMethodTypes.Default;
    
            try
            {
                // read SendKeys value from config file, not case sensitive
                string value = System.Configuration.ConfigurationManager.AppSettings.Get("SendKeys");
    
                if (string.IsNullOrEmpty(value))
                    return;
    
                if (value.Equals("JournalHook", StringComparison.OrdinalIgnoreCase))
                    sendMethod = SendMethodTypes.JournalHook;
                else if (value.Equals("SendInput", StringComparison.OrdinalIgnoreCase))
                    sendMethod = SendMethodTypes.SendInput;
            }
            catch { } // ignore any exceptions to keep existing SendKeys behavior
        }
    }

    Сорцы дотнета. Игнорируем любые исключения. Возмущение компилятора отключаем атрибутом. Как мило!

    Пруф: http://referencesource.microsoft.com/#System.Windows.Forms/ndp/fx/src/winforms/Managed/System/WinForms/SendKeys.cs#323f3884113aa0ae#references

    Цимес ещё и в том, что раньше в коде не было строк:

    if (string.IsNullOrEmpty(value))
    return;

    То есть NullReferenceException тоже глушилось.

    ЗЫ: пришлось пароль вспоминать, чтобы запостить. А то лень было логиниться, из под геста изредка комментил.

    koodeer, 28 Апреля 2014

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public string ReturnBondCurrency(int billTableLine)
    {
         return char.ConvertFromUtf32(Table[billTableLine, 1]) +
                char.ConvertFromUtf32(Table[billTableLine, 2]) +
                char.ConvertFromUtf32(Table[billTableLine, 3]);
    }

    Table - двумерный массив байт.
    Encoding.ASCII.GetString() отдыхает.

    yamamoto, 28 Апреля 2014

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

    +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
    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
    class Users : Data
        {
            public int ID { get; set; }
            public string Name { get; set; }
            public int PostID { get; set; }
            public int SubdivID { get; set; }
            public QueryType qType { get; set; }
            public static QueryState qState { get; set; }
            
            /// <summary>
            /// Типы запроса для QueryBuilder
            /// </summary>
            public enum QueryType : int
            {
                Insert = 1,
                Delete,
                Update,
                SelectUsers,
                SelectUser,
                SelectUsersbyName
            }
    
            /// <summary>
            ///  Статусы открытия формы (добавление или редактирование)
            /// </summary>
            public enum QueryState : int
            {
                Insert = 1,
                Update
            }
    
            public Users()
            {
                ID = -1;
                Name = null;
            }
    
            /// <summary>
            /// Формирует запрос на основе значения переменной qType и осуществляет выборку данных
            /// </summary>
            public void QueryBuilder()
            {
                switch (qType)
                {
                    case QueryType.SelectUsers:
                        {
                            QueryText = "Select Users.ID, Users.Name, Posts.Name, Subdivisions.Name from Users, Posts, Subdivisions Where Users.SubdivID = subdivisions.ID and Users.PostID = Posts.ID";
                            Select();
                            break;
                        }
                    case QueryType.SelectUser:
                        {
                            if (ID != -1)
                            {
                                QueryText = "Select Users.ID, Users.Name, Posts.Name, Subdivisions.Name, Posts.ID, Subdivisions.ID From Users, Posts, Subdivisions " +
                                            " Where Users.SubdivID = subdivisions.ID and Users.PostID = Posts.ID and Users.ID = " + ID;
                                SelectRow();
                            }
                            else
                            {
                                MessageBox.Show("ID пользователя не найден");
                            }
                            break;
                        }
                    case QueryType.Insert:
                        {
                            QueryText = "Insert Into Users(Name, PostID, SubdivID) Values('" + Name + "', '" + PostID + "', '" + SubdivID + "')";
                            InsertRecord();
                            break;
                        }
                    case QueryType.Delete:
                        {
                            QueryText = "Delete From Users Where ID = " + ID;
                            DeleteRecord();
                            break;
                        }
                    case QueryType.Update:
                        {
                            QueryText = "Update Users set Name = '" + Name + "', PostID = '" + PostID + "', SubdivID = '" + SubdivID + "'  Where ID = " + ID;
                            UpdateRecord();
                            break;
                        }
                    case QueryType.SelectUsersbyName:
                        {
                            QueryText = "Select Users.ID, Users.Name, Posts.Name, Subdivisions.Name from Users, Posts, Subdivisions " +
                                        "Where Users.SubdivID = subdivisions.ID and Users.PostID = Posts.ID and Users.Name like " + "'%" + Name + "%'";
                            Select();
                            break;
                        }
                }
            }

    15856 Продолжение...

    Ate1st, 28 Апреля 2014

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