Мое эмпирическое правило - называть все. Не у каждого заголовочного файла есть хорошие комментарии перед каждой функцией, и поэтому имя параметра - это все, что остается, чтобы расшифровать функцию, когда не хватает достойной документации.
В худшем случае это немного лишняя печать от имени программиста. Это показывает намерение, в дополнение к любым комментариям, которые были предоставлены. Я никогда не был сторонником практики, которая, кажется, существует исключительно для того, чтобы не печатать. В наши дни автозаполнения iDE никогда не было так легко быть многословным.
Тогда не используйте foreach. Используйте цикл for. Ваш код немного испорчен, но вы можете сделать что-то вроде ...
for (Int32 i = 0; i < dt_pattern.Rows.Count; i++)
{
double yATmax = ToDouble(dt_pattern.Rows[i+1]["Ampl"].ToString()) + AT;
}
Обратите внимание, что вам нужно принять во внимание, что в последней строке не будет 'i + 1', поэтому вам придется использовать оператор if для поймайте это.
for (int i=0; i<dt_pattern.Rows.Count; i++)
{
DataRow dr = dt_pattern.Rows[i];
}
Теперь в цикле можно ссылаться на строку i + 1 (при условии, что есть i + 1)