powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как можно сократить объем кода?
3 сообщений из 3, страница 1 из 1
Как можно сократить объем кода?
    #38008156
Solomka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно сократить объем этого всего кода и кода в регионе с помощью LINQ или ещё чего нибудь?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
List<TransferClass.ClassTogetherInfoTaskAndProject> lstReturn = new List<TransferClass.ClassTogetherInfoTaskAndProject>();

//создаем контейнер для хранения данных
DataSet1 ds = new DataSet1();

//создаем адаптер и заполняем таблицу
DataSet1TableAdapters.SubProjectsTableAdapter subProject = new DataSet1TableAdapters.SubProjectsTableAdapter();
subProject.Fill(ds.SubProjects, ChoisedNode.IdNode);

// создаем DataView и указываем для него таблицу
System.Data.DataView tdv = new System.Data.DataView();
tdv.Table = ds.SubProjects;
                        
// следующим четырьмя строками узнаем самую ранную дату для таблицы в столбце "Дата_начала_выполнения"
// и самую позднюю дату в столбце "Дата_конца_выполения"
tdv.Sort = ds.SubProjects.Дата_начала_выполненияColumn.ColumnName;
DateTime dtFirstStartData = System.Convert.ToDateTime(tdv[0][ds.SubProjects.Дата_начала_выполненияColumn.ColumnName]);
tdv.Sort = ds.SubProjects.Дата_конца_выполенияColumn.ColumnName;                        
DateTime dtLastFinishData = System.Convert.ToDateTime(tdv[tdv.Count - 1][ds.SubProjects.Дата_конца_выполенияColumn.ColumnName]);


int t3 = DeltaDayInTwoDates(dtFirstStartData, dtLastFinishData);// - временная переменная

#region код который бы хотелось сократить
     for (int i = 0; i < ds.SubProjects.Rows.Count; i++)
                        {
			    //создаем объект класса в которых будем запихивать данных из бтаблицы
                            TransferClass.ClassTogetherInfoTaskAndProject ti = new TransferClass.ClassTogetherInfoTaskAndProject();
                            
                            // 	заполняем поля переменной			
                            ti.Name = ds.SubProjects.Rows[i][ds.SubProjects.НазваниеColumn].ToString();
                            ti.ID = (int)ds.SubProjects.Rows[i][ds.SubProjects.IDColumn];
                            
                            DateTime stdSP = System.Convert.ToDateTime(ds.SubProjects.Rows[i][ds.SubProjects.Дата_начала_выполненияColumn.ColumnName].ToString());
                            DateTime fndSP = System.Convert.ToDateTime(ds.SubProjects.Rows[i][ds.SubProjects.Дата_конца_выполенияColumn.ColumnName].ToString());
                            
                            int t1 = Math.Abs( DeltaDayInTwoDates(stdSP, dtFirstStartData));
                            int t2 = Math.Abs( DeltaDayInTwoDates(dtLastFinishData, fndSP));
                            
                            // 	заполняем поля переменной			
                            ti.BeginData = stdSP;
                            ti.FinishData = fndSP;
                            ti.DeltaGraphic.DeltaBegin = t1;
                            ti.DeltaGraphic.DeltaEnd = t2;
                            ti.DeltaGraphic.TotalDays = t3;

                            // 	добавляем переменную в массив который мы возвращяем в методе			
                            lstReturn.Add(ti);

                        }
@endregion
...
Рейтинг: 0 / 0
Как можно сократить объем кода?
    #38008178
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К примеру поставить ReSharper, он подскажет :)
...
Рейтинг: 0 / 0
Как можно сократить объем кода?
    #38009836
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно как то так


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
            DataSet ds = new DataSet();
            ...
            var data = ds.Tables["Table_Name"]
                .AsEnumerable()
                .Select(p => new User {
                                          Name = p["Name"].ToString(),
                                          Sity = p["Sity"].ToString()
                                      })
                .ToList();


Код: c#
1.
2.
3.
4.
 public class User {
        public string Name { get; set; }
        public string Sity { get; set; }
    }
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как можно сократить объем кода?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]