C#查询List一个对象并赋值
时间: 2024-01-20 16:04:10 浏览: 56
在 C# 中,可以使用 LINQ 查询语句对 List 中的对象进行查询,并将查询结果赋值给一个新的对象。假设有一个名为 `Person` 的类,其中包含两个属性 `Name` 和 `Age`,可以按照以下方式查询 List 中符合条件的对象并将其赋值给一个新对象:
```csharp
List<Person> people = new List<Person>();
// 添加一些 Person 对象到列表中
// 查询 Name 为 "John" 的 Person 对象
Person john = people.FirstOrDefault(p => p.Name == "John");
if (john != null)
{
// 将 John 的年龄设置为 30
john.Age = 30;
}
```
在上面的代码中,使用 `FirstOrDefault()` 方法查询 Name 属性为 "John" 的 Person 对象。如果找到了符合条件的对象,则将其赋值给 `john` 变量。然后可以修改 `john` 对象的 `Age` 属性。如果没有找到符合条件的对象,则 `john` 变量将为 `null`。
相关问题
C# 如何用数组遍历一个list并强转赋值给另一个list
假设有一个名为 `list1` 的 `List<object>` 类型的列表,需要将其中的元素强转为 `int` 类型并存储到另一个名为 `list2` 的 `List<int>` 类型的列表中,可以按照以下步骤操作:
1. 创建一个空的 `List<int>` 类型的列表 `list2`。
2. 遍历 `list1` 中的元素,使用 `foreach` 循环或者 `for` 循环来实现。
3. 在循环中,将当前元素强转为 `int` 类型,并将其添加到 `list2` 中。
具体代码实现如下:
```
List<object> list1 = new List<object>(); // 假设 list1 中包含一些 object 类型的元素
List<int> list2 = new List<int>();
foreach (object item in list1)
{
if (item is int intValue) // 使用 C# 7.0 中的模式匹配,判断当前元素是否为 int 类型
{
list2.Add(intValue); // 将当前元素强转为 int 类型并添加到 list2 中
}
}
```
需要注意的是,如果 `list1` 中的元素不是全部都能强转为 `int` 类型,那么在强转时可能会出现异常,可以使用 `try-catch` 块来处理异常情况。同时,在使用 `foreach` 循环遍历 `list1` 时,不要尝试去修改 `list1` 中的元素,否则可能会导致程序出错。
C#把一维LIST组赋值给二维LIST
在C#中,你可以使用循环遍历一维List,然后将每个元素插入到二维List中的正确位置。假设你有一个一维List<string>,想要将其转换为二维List<string>,可以按照以下方式实现:
```csharp
List<string> oneDimensionalList = new List<string>{"a", "b", "c", "d", "e", "f"};
int rows = 2;
int cols = 3;
List<List<string>> twoDimensionalList = new List<List<string>>();
for (int i = 0; i < rows; i++)
{
List<string> rowList = new List<string>();
for (int j = 0; j < cols; j++)
{
int index = i * cols + j;
if (index < oneDimensionalList.Count)
{
rowList.Add(oneDimensionalList[index]);
}
else
{
rowList.Add("");
}
}
twoDimensionalList.Add(rowList);
}
```
在上面的代码中,我们首先定义了一个一维List<string>,然后定义了二维List<string>,并且指定了所需的行和列数。接下来,我们在两个循环中遍历二维List,并在内层循环中计算每个元素在一维List中的索引。如果索引小于一维List的长度,则将该元素添加到rowList中,否则添加一个空字符串。然后将rowList添加到twoDimensionalList中。最终,我们会得到一个正确转换的二维List。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)