62
задан 2 June 2014 в 19:12

2 ответа

Возможно, я делаю что-то существенно неправильно здесь, но при разработке приложения ASP.NET в C# я встречаюсь с настоящим различием при использовании Ясный () по сравнению с новым. Я создаю страницу статистики с диаграммами, которые имеют ряд данных. Для каждой диаграммы у меня есть раздел, где я делаю это:

chart = new ChartistChart() { Title = "My fancy chart" };
series = new List<ChartistMetaValue>();
*some code for getting the statistics*
chart.Series.Add(series);
chartistLineCharts.Add(chart);

затем другая диаграмма следует.

chart = new ChartistChart() { Title = "My second fancy chart" };
series = new List<ChartistMetaValue>();
*some code for getting the statistics*
chart.Series.Add(series);
chartistLineCharts.Add(chart);

Это работает просто великолепно с series перераспределяемый с new, но когда я делаю

series.Clear();

вместо этого, я на самом деле очищаю запись в chart.Series и chartistLineCharts, таким образом, страница статистики заканчивает тем, что получила только ряд последней диаграммы. Я предполагаю, что существует некоторая ссылка, как указатель памяти, здесь и это - другой вопрос, чем, что первоначально обсуждено, но это - по крайней мере, причина выбрать new более чем Clear(). Возможно, существует способ избежать его все же.

4
ответ дан 31 October 2019 в 14:08

Я сделал несколько тестов для меня. Результаты (скорость):

  • для маленьких списков - например, 3 объекта, быстрее для создания новых списков, но различия не большой
  • для 10 или больше объектов в среднем, лучше очистить списки. Поскольку значение вводит намного лучше (например, 3-4 раза), в течение времен значения как на 20% лучше.

, Но в конце, лучше представить приложение и найти узкие места для целого приложения.

3
ответ дан 31 October 2019 в 14:08

Другие вопросы по тегам:

Похожие вопросы: