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

    +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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    private string ReadFile(string filePath)
    {
        string fileText = string.Empty;
        int openAttempts = 0;
        try
        {
            using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
            {
                using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding(1252)))
                {
                    fileText = sr.ReadToEnd();
                    if (!sr.EndOfStream)
                    {
                        sr.Close();
                        fs.Close();
                        throw new Exception();
                    }
                }
            }
        }
        catch (Exception ex)
        {
            //Throw an error if the number of attempts is equal to the number of configured retries
            if (openAttempts == 20)
                throw new Exception(ex.Message);
            else
            {
                openAttempts += 1;
                Thread.Sleep(1000); //Put the thread to sleep for the configured amount of time
                ReadFile(filePath);
            }
        }
    
        return fileText;
    }

    Тут все, и управление исключениями, и бессмысленная рекурсия, и глупые ошибки. Про то, что это можно было заменить на одну строчку я молчу даже.

    Jabberwok, 10 Июня 2011

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

    +122

    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
    internal sealed class FontKeeper
    {
            private static readonly FontConverter s_converter = new FontConverter();
            private static readonly Regex s_font = new Regex(@"^(?<name>\w[\s\w]+);\s*(?<size>\d+)pt\s*(?:;(?<style>.*))?$", RegexOptions.IgnoreCase);
            private static readonly Regex s_style = new Regex(@"^\s*style\s*=\s*([\w\s,]+)$", RegexOptions.IgnoreCase);
            private const int defaultSize = 14;
    
            public FontKeeper(Font font) : this(s_converter.ConvertToString(font)) { }
    
            public FontKeeper(string fontString)
            {
                Match m = s_font.Match(fontString);
                if (!m.Success)
                    throw new ArgumentException("Неверный формат строки");
    
                Name = m.Groups["name"].Value.Trim();
                int sz;
                if (!int.TryParse(m.Groups["size"].Value, out sz))
                    sz = defaultSize;
                Size = sz;
    
                //Флаги стиля
                ParseStyle(m.Groups["style"].Value);
            }
    
            private void ParseStyle(string value)
            {
                Match m = s_style.Match(value);
                if (!m.Success) return;
    
                string[] styles = m.Groups[1].Value.Split(new[] { ',' });
                foreach (var style in styles)
                {
                    try
                    {
                        Style |= (FontStyle)Enum.Parse(typeof(FontStyle), style.Trim(), true);
                    }
                    catch { }
                }
            }
    
            public string Name { get; set; }
            public int Size { get; set; }
            public FontStyle Style { get; set; }
            public float FontFactor
            {
                get { return (float)Size / defaultSize; }
                set { Size = (int)(value * defaultSize); }
            }
    
            public Font CreateFont()
            {
                return new Font(Name, Size, Style);
            }
    }

    Небольшой класс для хранения и динамического изменения шрифтов

    lomomike, 10 Июня 2011

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

    +128

    1. 1
    return Mouse.GetState().LeftButton == ButtonState.Pressed ? _manager.Creatures.Where(el => el.Rectangle.Intersects(new Rectangle(Mouse.GetState().X, Mouse.GetState().Y, 2, 2))).FirstOrDefault() : null;

    dotnetdeveloper, 08 Июня 2011

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

    +115

    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
    private object[] select ( string tablename, Type type, string addict ) 
            {
                object[] returned_objects = new object[0];
                string sql = "SELECT ";
                sql += this.buildFieldNames( type );
                sql += " FROM `" + tablename + "`" + addict;
                MySqlDataReader reader = this.TryQueryReader( sql );
                while (reader.Read( ))
                {
                    var obj = Activator.CreateInstance( type );
                    FieldInfo[] fields = type.GetFields( );
                    foreach (FieldInfo finfo in fields)
                    {
                        if (finfo.FieldType == typeof( int ))
                        {
                            finfo.SetValue( obj, reader.GetInt32( finfo.Name ) );
                        }
                        else if (finfo.FieldType == typeof( bool ))
                        {
                            if (reader.GetString( finfo.Name ).Equals( "true" ))
                            {
                                finfo.SetValue( obj, true );
                            }
                            else
                            {
                                finfo.SetValue( obj, false );
                            }
                        }
                        else if (finfo.FieldType == typeof( float ))
                        {
                            finfo.SetValue( obj, reader.GetFloat( finfo.Name ) );
                        }
                        else if (finfo.FieldType == typeof( double ))
                        {
                            finfo.SetValue( obj, reader.GetDouble( finfo.Name ) );
                        }
                        else if (finfo.FieldType == typeof( string ))
                        {
                            finfo.SetValue( obj, reader.GetString( finfo.Name ) );
                        }
                    }
                    provider.IncreaseLength( ref returned_objects, 1 );
                    returned_objects.SetValue( obj, returned_objects.Length - 1 );
    
                }
                reader.Close( );
                return returned_objects;
            }

    самопальный орм, нот комментс

    glilya, 30 Мая 2011

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

    +120

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    using System;
    
    class C
    {
        static void Main()
        {
            क्ष(0);
        }
    
        static void क्‍ष(int x) { Console.WriteLine(1); }
        static void क्ष(object x) { Console.WriteLine(2); }
    }

    Что будет напечатано ?


    Оч понравилось, нашел на простора интырнета (пардон если повтор)

    glilya, 28 Мая 2011

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

    +111

    Monkeys scripting

    просто гет

    bugmenot, 18 Мая 2011

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

    +128

    1. 1
    long.Parse(Convert.ToString(Convert.ToSingle(Item.Value.ToString())))

    wiz, 17 Мая 2011

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

    +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
    if (comboBox1.SelectedItem.ToString() == "VISA")
                {
                    pictureBox7.Visible = false;
                    pictureBox6.Visible = false;
                    pictureBox5.Visible = false;
                    pictureBox4.Visible = false;
                    pictureBox3.Visible = false;
                    pictureBox2.Visible = false;
                    pictureBox1.Visible = true;
                }
                if (comboBox1.SelectedItem.ToString() == "MasterCard")
                {
                    pictureBox7.Visible = false;
                    pictureBox6.Visible = false;
                    pictureBox5.Visible = false;
                    pictureBox4.Visible = false;
                    pictureBox3.Visible = false;
                    pictureBox1.Visible = false;
                    pictureBox2.Visible = true;
                }

    + ещй пять такие проверок. Ну не умеет человек PictureBox.Image пользоваться.

    Killster, 16 Мая 2011

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

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    foreach (var list in Distances.ConvertToList())
    {
         dt.Rows.Add(ConvertToObject(list.ToArray()));
    }

    dotnetdeveloper, 12 Мая 2011

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

    +122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var rl2 = _vf.AddNewRouteLine(BusStation.Instance.GetRoute(
    BusStation.Instance.FindSettlement(БарановичиcheckBox6.Content.ToString()),
    BusStation.Instance.FindSettlement(БобруйскcheckBox17.Content.ToString()))[0],
    БарановичиcheckBox6, БобруйскcheckBox17, Upd);
    canvas1.Children.Add(rl2.Line);

    dotnetdeveloper, 12 Мая 2011

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