gpt4 book ai didi

C# FindAll 方法 : I am struggling with the syntax

转载 作者:太空宇宙 更新时间:2023-11-03 17:21:57 25 4
gpt4 key购买 nike

首先,非常感谢 StackOverflow 社区。我是 C# 的新手,这个小组多次将我从火中拉出来!

问题:我在使用 C# FindAll 方法时遇到了一些问题。具体来说,我不能让它工作,我知道是我......

工作正常的东西:

public class City
{
public string Name {get;set;}
public string Country {get;set;}
}

public List<City> GetCities()
{
List<City> cities = new List<City>();
cities.Add(new City() { Name = "Istanbul", Country = "Turkey" });
// etc, add a bunch more cities, including multiple entries for
// some cities
return cities;
}

现在什么不起作用...(它返回所有城市或不返回任何城市(取决于我如何摆弄语法)。

public static List<> ReturnCityList(string CityName)
{
Cities = GetCities;
var RequestedCities = Cities.Findall(s => Name.Equals(CityName));
return RequestedCities
}

我做错了什么?

我已经阅读了很多示例,但缺少一些内容。

谢谢!

最佳答案

var RequestedCities = Cities.Findall(s => Name.Equals(CityName));

Name 在哪里来自(哪里?你是这个意思吗?

var RequestedCities = Cities.Findall(s => s.Name.Equals(CityName));

甚至

var RequestedCities = Cities.Findall(s => s.Name == CityName);

它用更简单的语法做同样的事情。

您没有使用 s变量,即在迭代中保存当前元素的变量。这就是您可能需要对照 CityName 进行检查的内容.我怀疑你的版本甚至编译。还有……

public static List<> ReturnCityList(string CityName)

那不会编译。您不能使用空的通用参数,您需要将返回值指定为 List<City>然后你需要调用ToList()在查询结果上。还有一些其他错误。

老实说,你应该只返回一个 IEnumurable<City>因为调用者可能不需要修改返回值,只需枚举即可。

再吹毛求疵;方法参数使用 camelCase按照惯例,不是PascalCase ,局部变量也是如此。

关于C# FindAll 方法 : I am struggling with the syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8289744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com