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

    +139.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var viewsId = new List<int>(views.Select(v => v.ViewId).Distinct());
    
    var sviewsId = "," + String.Join(",", viewsId.Select(i => i.ToString()).ToArray()) + ",";
    
    _total = (from d in context.TableA
                                      join uvd in context.TableB on d.DocID equals uvd.DocID
                                      join uv in context.TableC on uvd.ID equals uv.ID
                                      where sviewsId.IndexOf("," + uv.ID.ToString() + ",") > 0
                                      select d.DocID)
                                      .Distinct ()
                                      .Count ();

    Оригинальный способ обойти ограничение на 2100 параметров. А как быстро оно будет работать!
    views, разумеется, из того же контекста.

    eval_2009, 16 Декабря 2009

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

    +99.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach (char c in customField.CustomFieldId.ToLower()
                    .Replace("CustomField".ToLower(), String.Empty))
    {
                    if (c < '0' || c > '9') fieldName += c;
    }

    Догадайтесь что он делает

    arctic, 15 Декабря 2009

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

    +135.7

    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
    private void Form1_Load(object sender, EventArgs e)
            {
                List<defaultItem> EqQty = new List<defaultItem>();
                EqQty.Add(new defaultItem(1, 1.ToString()));
                EqQty.Add(new defaultItem(2, 2.ToString()));
                EqQty.Add(new defaultItem(3, 3.ToString()));
                EqQty.Add(new defaultItem(4, 4.ToString()));
                EqQty.Add(new defaultItem(5, 5.ToString()));
    
                cbEqQty.DataSource = EqQty;
                cbEqQty.ValueMember = "Key";
                cbEqQty.DisplayMember = "Value";
    
                List<defaultItem> PlusQty = new List<defaultItem>();
                PlusQty.Add(new defaultItem(1, 1.ToString()));
                PlusQty.Add(new defaultItem(2, 2.ToString()));
                PlusQty.Add(new defaultItem(3, 3.ToString()));
                PlusQty.Add(new defaultItem(4, 4.ToString()));
                PlusQty.Add(new defaultItem(5, 5.ToString()));
    
                cbPlusQty.DataSource = PlusQty;
                cbPlusQty.ValueMember = "Key";
                cbPlusQty.DisplayMember = "Value";
    }
    
    
    public class defaultItem
        {
            public int Key { get; set; }
    
            public String Value { get; set; }
            /// <summary>
            /// Коснтруктор
            /// </summary>
            /// <param name="Key"></param>
            /// <param name="Value"></param>
            public defaultItem
                (
                int Key,
                String Value
                )
            {
                this.Key = Key;
                this.Value = Value;
            }
        }

    Надо было два дропдауна при загрузке формы заполнить))

    zodchiy, 15 Декабря 2009

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

    +100.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (Files[i].NeedCompression)
     {
           CompressFile(Files[i], Files[i].FileNameWithPath);
    }
           else
    {
           CompressFile(Files[i], Files[i].FileNameWithPath);
    }

    Если файл нужно сжать, сжимаем, или сжимаем :D
    ps:// 3 года назад писал подобие архиватора, за компрессию отвечала библиотека zlib.net

    nolka4, 11 Декабря 2009

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

    +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
    19. 19
    20. 20
    21. 21
    private string GetDefaultPolicyNameFromRegistry()
        {
            string registryControlCenterKeyName;
            RegistryKey key;
            try
            {
                if (System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr)) == 8)
                    registryControlCenterKeyName = "SOFTWARE\\Wow6432Node\\xxx\\ControlCenter\\";
                else
                    registryControlCenterKeyName = "SOFTWARE\\xxx\\ControlCenter\\";
    
                key = Registry.LocalMachine.OpenSubKey(registryControlCenterKeyName); ;
    
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Registry open 'ControlCenter' key error: " + ex.Message);
            }
    
           return (string)key.GetValue("DefaultPolicy");
        }

    Замечательно проверили на возможность исключений в ветке реестра с помощью try catch.. И также замечательно вынесли получение нужного значения из try catch
    Как результат - после обновления не открываются две страницы, на которых можно было бы создать, просмотреть и етк нужное значение в реестре. Нормальная работа приложения гарантировано заблокирована.

    Проверка битности системы тоже хорошая)

    eiskalt, 10 Декабря 2009

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

    +126.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    switch (dType) { 
             case "2":
                        return Title + "(" + dTitle + ")";
                        break;
             case "3":
                        return Title + " за " + dDate.ToString("d");
                        break;
             default: return Title;
                        break;
    }

    Чтобы уж наверняка :)

    pe4enov, 08 Декабря 2009

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

    +96.3

    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
    public class zTimer
    {
        object SomeTag;
        int StartTime;
        int TimeOut;
    
        public int Start(int Value, object tag)
        {
            SomeTag = tag;
            TimeOut = Value;
            StartTime = MakeLngTime(DateTime.Now);
            return StartTime;
        }
    
        public int MakeLngTime(DateTime Tm)
        {
           return ((Tm.Day * 24 + Tm.Hour) * 60 + Tm.Minute) * 60 + Tm.Second;
        }
    
        public bool IsTimeOut(object tag)
        {
            if (tag != null && SomeTag != null)
            {
                if (tag == SomeTag)
                {
                    if (MakeLngTime(DateTime.Now) > StartTime + TimeOut)
                    {
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    StartTime = MakeLngTime(DateTime.Now);
                    SomeTag = tag;
                    return false;
                }
            }
            else
            {
                if (MakeLngTime(DateTime.Now) > StartTime + TimeOut)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
    }

    Могучий таймер. Особое внимание стоит уделить методу MakeLngTime.

    crelian, 07 Декабря 2009

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

    +130.8

    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
    private static bool EvaluteExpression(string expression, out object result)
            {
                string source =
                    string.Format("public static class Evalutor{{public static object GetValue(){{return {0};}}}}",
                        expression);
    
                using (Microsoft.CSharp.CSharpCodeProvider provider = new Microsoft.CSharp.CSharpCodeProvider())
                {
                    System.CodeDom.Compiler.CompilerParameters compilerParams =
                        new System.CodeDom.Compiler.CompilerParameters
                    {
                        GenerateInMemory = true,
                        GenerateExecutable = false
                    };
    
                    System.CodeDom.Compiler.CompilerResults compileResults = provider.CompileAssemblyFromSource(compilerParams, source);
    
                    if (compileResults.NativeCompilerReturnValue == 0)
                    {
                        Type type = compileResults.CompiledAssembly.GetType("Evalutor");
                        MethodInfo method = type.GetMethod("GetValue");
                        result = method.Invoke(null, null);
                        return true;
                    }
    
                }
    
                result = null;
                return false;
            }

    некогда было писать эвалютор))
    работает и так

    exe-dealer, 07 Декабря 2009

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

    +126.6

    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
    private OperatingSystem(SerializationInfo info, StreamingContext context)
    {
        SerializationInfoEnumerator enumerator = info.GetEnumerator();
        while (enumerator.MoveNext())
        {
            string name = enumerator.Name;
            if (name != null)
            {
                if (!(name == "_version"))
                {
                    if (name == "_platform")
                    {
                        goto Label_0067;
                    }
                    if (name == "_servicePack")
                    {
                        goto Label_0089;
                    }
                }
                else
                {
                    this._version = (Version) info.GetValue("_version", typeof(Version));
                }
            }
            continue;
        Label_0067:
            this._platform = (PlatformID) info.GetValue("_platform", typeof(PlatformID));
            continue;
        Label_0089:
            this._servicePack = info.GetString("_servicePack");
        }
        if (this._version == null)
        {
            throw new SerializationException(Environment.GetResourceString("Serialization_MissField", new object[] { "_version" }));
        }
    }

    Это добыто из недр .NET Framework с помощью рефлектора..)

    eee_qqq, 07 Декабря 2009

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

    +96.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function Calculate(...)
    {
    .....
            if (d == (1 - 1))
    .....
    }

    Вот встретилось )))) Видать раньше формула была несколько серьезней, а народ уже двинулся от расчетов что такое понаписал )))))))))

    nettrash, 03 Декабря 2009

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