最も簡単なアプローチは、以下を使用することConvertAll
です。
myList = myList.ConvertAll(d => d.ToUpper());
ForEach
元のリストをループするのとそれほど違いはありませんConvertAll
が、再割り当てが必要な新しいリストを作成します。
var people = new List<Person> {
new Person { FirstName = "Aaa", LastName = "BBB", Age = 2 },
new Person{ FirstName = "Deé", LastName = "ève", Age = 3 }
};
people = people.ConvertAll(m => new Person
{
FirstName = m.FirstName?.ToUpper(),
LastName = m.LastName?.ToUpper(),
Age = m.Age
});
あなたの更新に答えるために
ループしたり、フィールドごとに移動したりしたくありません。各プロパティの値を大文字にする方法はありますか?
ループしたり、フィールドごとに移動したりしたくない場合。クラスのプロパティを使用して、大文字を次のように指定できます
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public string FirstNameUpperCase => FirstName.ToUpper();
public string LastNameUpperCase => LastName.ToUpper();
}
またはあなたはそのようにバックフィールドを使うことができます
public class Person
{
private string _firstName;
public string FirstName {
get => _firstName.ToUpper();
set => _firstName = value;
}
private string _lastName;
public string LastName {
get => _lastName.ToUpper();
set => _lastName = value;
}
public int Age { get; set; }
}