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

    +107

    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
    public class Visit 
    {
    	public DateTime Start {get; set;}
    	public DateTime Finish {get; set;}
    }
    
    public bool IsConflict(Visit a, Visit b)
    {
    	var s = GetArray(a);
    	var s2 = GetArray(b);
    	return Compare(s,s2);
    }
    
    private List<string> GetArray(Visit visit)
    {
    	var list = new List<string>();
    	while (visit.Start < visit.Finish)
    	{ 
    	  list.Add(visit.Finish.ToString()); // в строках!
    	  visit.Finish -= TimeSpan.FromMinutes(1); // по 1й минуте!!!
    	}
    	return list;
    }
    private bool Compare(List<string> list1, List<string> list2)
    {
    
    	foreach (var s in list1)
    	{
    		if (list2.Any(x => x == s))
    		{
    			return false;
    		}
    	}
    	return true;
    }

    Основная здесь функция, предназначенная для вызова, - IsConflict(Visit a, Visit b)
    Она должна проверять, пересекаются ли меджу собой два промежутка времени.
    Вот такая проверка со сложностью O(n*n) , где n - кол-во минут в промежутках времени.

    kasitan, 18 Сентября 2013

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

    +101

    1. 1
    if( a.GetPixel(i, k).Name.ToString().Substring(0,6)=="ff0404")

    http://www.cyberforum.ru/csharp-net/thread954611.html#post5057105

    Qwertiy, 15 Сентября 2013

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

    +105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (App.TimerClock != null)
    {
      App.TimerClock.Enabled = false;
      App.TimerClock.Close();
      App.TimerClock.Dispose();
      App.TimerClock = null;
     }

    taburetka, 11 Сентября 2013

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    foreach (var contractBaseViewModel in contractModels)
    {
    	var entity = dbTenderLots.FirstOrDefault(x => x.Uid == contractBaseViewModel.EntityUid);
    	if (entity != null)
    	{
    		contractModels.ForEach(x => x.LotViewUrl = url.Generate<TendersController>(l => l.Lot(entity.Id)));
    	}
    }

    вопрос. какое значение примет LotViewUrl у моделек?

    Silvochka, 09 Сентября 2013

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

    +142

    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
    private static string AddStr(string s1, string s2)
    		{
    			string result;
    			if (s1 == string.Empty)
    			{
    				result = s2;
    			}
    			else
    			{
    				if (s2 == string.Empty)
    				{
    					result = s1;
    				}
    				else
    				{
    					result = s1 + " " + s2;
    				}
    			}
    			return result;
    		}

    Код - бессмысленный и беспощадный

    leon_mz, 06 Сентября 2013

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ((ObjectType)value == ObjectType.Undefined)
    {
        return string.Empty;
    }
    {
        return ((ObjectType)value).GetDescriptionAttribute();
    }

    Как будто не хватает чего-то..

    save2love, 03 Сентября 2013

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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Товарищи, недавно у меня была возможность покодить на арестованных сях: синтаксис в принципе 
    не очень сложный, да и возможности широкие. 
    Так вот, у меня возник вопрос: стоит ли учить си-за-решеткой в противовес Delphi 8 (идет под .NET)?
    Дело в том.  что Си для меня язык новый, а с Delphi я более менее знаком. 
    
    Хочу заранее попросить: пожалуйста, никаких споров о преимуществах языков. 
    Вопрос стоит не о том, что лучше,  а о том, сравним ли по возможностям компилятор Delphi 8 .NET с C#.

    Stertor, 01 Сентября 2013

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

    +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
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    public void ConvertCross_2(int ch, string pfile,string NameSheet){
                //Преобразуем КроссТаблицу
                int Div = Convert.ToInt16(comboBox3.Text) - 1;
                string fn = ""; string fn1 = ""; string fn12 = ""; string fn13 = "";
                string fn14 = ""; string fn15 = ""; string fn16 = ""; string fn2 = "";
                string fn3 = "";
                string st = "";
                StreamWriter sw;
                string dirfile = "";
                if (textBox1.Text != ""){
                    dirfile = textBox1.Text + "\\" + pfile + ".csv";
                    if (ch == 1){
                        File.Delete(dirfile);
                    }
                    sw = new StreamWriter(dirfile, true, System.Text.Encoding.UTF8);
                }else{
                    if (ch == 1){
                        File.Delete(openFileDialog1.FileName + ".csv");
                    }
                    sw = new StreamWriter(openFileDialog1.FileName + ".csv", true, System.Text.Encoding.UTF8);
                }
                try{
                    for (int cl = 0; cl < 3 + Div; cl++){
                        fn = "F" + cl;
                        if (cl == 0){
                            st =  fn;
                        }else{
                            st += ";" +  fn ;
                        }
                    }
                    st += ";" +  "Sheets";
                    if (ch == 1){
                        sw.WriteLine(st);
                    }
                    for (int i = 1 + Div; i < dt.Columns.Count; i++){
                       Application.DoEvents();
                        for (int j = 1; j < dt.Rows.Count; j++){
                            fn1 = dt.Rows[j][0].ToString();
                            if (fn1 == "") fn1 = " ";
                            else fn1 = fn1.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            if (Div >= 1){
                                fn12 = dt.Rows[j][1].ToString();
                                if (fn1 == "") fn12 = " ";
                                else fn12 = fn12.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            if (Div >= 2){
                                fn13 = dt.Rows[j][2].ToString();
                                if (fn13 == "") fn13 = " ";
                                else fn13 = fn13.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            if (Div >= 3){
                                fn14 = dt.Rows[j][3].ToString();
                                if (fn14 == "") fn14 = " ";
                                else fn14 = fn14.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            if (Div >= 4){
                                fn15 = dt.Rows[j][4].ToString();
                                if (fn15 == "") fn15 = " ";
                                else fn15 = fn15.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            if (Div == 5){
                                fn16 = dt.Rows[j][5].ToString();
                                if (fn16 == "") fn16 = " ";
                                else fn16 = fn16.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            fn2 = dt.Rows[0][i].ToString();
                            if (fn2 == "") fn2 = " ";
                            else fn2 = fn2.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            fn3 = dt.Rows[j][i].ToString();
                            if (fn2 == "") fn2 = " ";
                            else fn2 = fn2.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            st =  fn1  + ";";
                            if (Div >= 1){
                                st = st +  fn12  + ";";
                            }
                            if (Div >= 2){
                                st = st +  fn13  + ";";
                            }
                            if (Div >= 3){
                                st = st +  fn14 + ";";
                            }
                            if (Div >= 4){
                                st = st + fn15 + ";";
                            }
                            if (Div >= 5){
                                st = st + fn16 + ";";
                            }
                            st = st +  fn2 +  ";" + fn3 + ";\"" + NameSheet.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            if (fn3.Trim()!=""){
                               sw.WriteLine(st);
                            }
                        }
                    }
                    sw.Close();            
                }finally{
                    sw.Close();
            }
    }

    кто бы мог подумать, что так можно сделать unpivot

    Lokich, 30 Августа 2013

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

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private void MultiSelectBox1_CheckedChanged(object sender, EventArgs e) {
               if (MultiSelectBox1.Checked == true) {
                    openFileDialog1.Multiselect = true;
                } else {
                    openFileDialog1.Multiselect = false;
                }
            }

    Lokich, 30 Августа 2013

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

    +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
    public DataTable ConvertToString(Array values, int col_length, int row_length, int counter) {
                DataTable dt = new DataTable();
                string[] theArray = new string[col_length];
                if (row_length < counter)
                    counter = row_length;
                for (int j = 1; j <= counter; j++) {
                    for (int i = 1; i <= col_length; i++) {
                        if (j == 1) {
                            try {
                                dt.Columns.Add(values.GetValue(j, i).ToString().Replace('.', '_'));
                            } catch (NullReferenceException nre) {
                                dt.Columns.Add("F" + i);
                            }
                        } else if (values.GetValue(j, i) == null)
                            theArray[i - 1] = "";
                        else
                            theArray[i - 1] = (string)values.GetValue(j, i).ToString();
                    }
                    if (j != 1)
                        dt.LoadDataRow(theArray, true);
    
                }
                return dt;
            }

    шедеврально, чтобы понять, есть ли значение в первой строке нужно словить NullReferenceException, а дальше можно проверить на != null
    и так же (string)values.GetValue(j, i).ToString();

    Lokich, 30 Августа 2013

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