为什么我不能打印这个列表
本文关键字:列表 打印 不能 为什么 | 更新日期: 2023-09-27 17:49:19
这是我第一次接触web服务。我是一个新的c#开发人员,我正试图从web服务检索用户信息。我可以连接到web服务并检索信息。现在,我正在尝试打印一个公司不同级别的用户列表。问题是我得到这种错误,我不知道:foreach语句不能操作UserLib类型的变量。UserDate'因为'UserLib '。UserData'不包含'GetEnumerator'的公共定义
我有一个名为UserLib的类库项目,其中有两个类。
UserData类代码:namespace UserLib
{
public class UserData
{
public string username { get; set; }
public string fullName { get; set; }
public string email { get; set; }
public string jobTitle { get; set; }
public string levelCode { get; set; }
}
}
GetUserData类代码:
namespace UserLib
{
public class GetUserData
{
public UserData getUserData(string login)
{
var dat = new UserData //UserData object
{
username = response.Username,
fullName = response.FullName,
email = response.Email,
jobTitle = response.Title,
levelCode = levelCode,
};
return dat;
}
}
}
程序类代码:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Please enter the username: ");
Console.WriteLine(" ");
Console.Write("Username: ");
var login = Console.ReadLine();
var getUser = new GetUserData();
var dat = getUser.getUserData(login); // <== class library call
Console.WriteLine("Username: " + dat.username);
Console.WriteLine("Full Name: " + dat.fullName);
Console.WriteLine("Email: " + dat.email);
Console.WriteLine("Job Title: " + dat.jobTitle);
Console.WriteLine("Level Code: " + dat.levelCode);
Console.WriteLine("------------------------");
printAll(login);
}
你能告诉我如何解决这个问题并打印这个用户列表吗?
UserData
不是像List<UserData>
那样的IEnumerable
,它只是一个对象。您需要一个方法getUsersData
,它返回IEnumerable<UserData>
嗯也. .你的switch
看起来多余。
第一个case
级联到第二个case
..第二个case
和第三个一样。所以为什么不直接使用output.Add(users.userName);
您的getUserData
方法不返回用户列表,它返回单个UserData
(一个用户的详细信息),因此您不能期望迭代此返回值,就好像它是一个集合。
另一个注意事项,在UserData
上使用PascalCase作为方法名和属性名。