判断 List 是否存在某一个字段,用C#语言编写
时间: 2024-05-09 19:19:34 浏览: 114
C# 修改list所有对象中的某字段
4星 · 用户满意度95%
语言编写
可以使用循环遍历列表中的每一个元素,判断该元素是否包含需要的字段。如果找到了这个字段,就返回 true,否则继续遍历。如果遍历完整个列表都没有找到该字段,则返回 false。以下是示例代码:
```c
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
typedef struct {
int id;
char name[20];
int age;
} Person;
bool has_field(Person* list, int size, char* field) {
for (int i = 0; i < size; i++) {
if (strstr(list[i].name, field) != NULL) {
return true;
}
}
return false;
}
int main() {
Person list[] = {
{ 1, "Alice", 20 },
{ 2, "Bob", 25 },
{ 3, "Charlie", 30 },
};
int size = sizeof(list)/sizeof(list[0]);
char* field = "Bob";
if (has_field(list, size, field)) {
printf("List contains %s\n", field);
} else {
printf("List does not contain %s\n", field);
}
return 0;
}
```
上述代码定义了一个 Person 结构体,包含 id、name 和 age 三个字段。has_field 函数接收一个 Person 数组、数组大小和需要查找的字段名,使用 strstr 函数判断该字段名是否出现在每个元素的 name 字段中。如果找到了该字段,就返回 true,否则继续查找。在主函数中,我们定义了一个 Person 数组,并调用 has_field 函数查找名为 "Bob" 的元素是否存在。最终输出结果为 "List contains Bob"。
阅读全文