Первый подход лучше, так как второй не будет работать так, как задумано, поскольку вы используете один и тот же экземпляр каждый раз и перезаписываете свойство.В итоге вы получите список SearchResult с одинаковым значением!Так что, безусловно, первая версия.
Вам необходимо использовать первую версию или каждый раз создавать новый экземпляр, например:
SearchResult searchResult;
while (reader.Read())
{
searchResult = new SearchResult();
searchResult.AppName = Convert.ToString(reader["AppName"]);
searchResults.Add(searchResult);
}
РЕДАКТИРОВАТЬ Это, конечно, предполагаетSearchResult
- это класс, если это на самом деле структура, то это тип значения, и это не будет проблемой