我在课堂上有这段代码:
public class TicketSummary
{
//get all the development tickets
public List<IncidentSummary> AllDevelopmentTickets { get; set; }
public List<string> TicketNames()
{
List<string> v = new List<string>();
foreach (var developmentTicket in AllDevelopmentTickets)
{
var ticketIds = developmentTicket.id.ToString(CultureInfo.InvariantCulture);
v.Add(ticketIds);
}
return v;
}
}
}
我正在尝试查看我的API连接(以及所有代码)是否完成了它的工作并撤回了门票及其信息,更具体地说是ids。
在我的主程序中,我不知道如何检查它是否完成了这项工作。我尝试了一些东西,但它不太正确并且没有返回任何东西(我知道我需要一个Console.WriteLine)
static void Main(string[] args)
{
Console.ReadLine();
var tickets = new TicketSummary();
tickets.TicketNames();
while ( tickets != null )
{
Console.WriteLine(tickets);
}
}
有什么建议吗?
谢谢!
答案 0 :(得分:1)
您已删除了返回的结果:tickets.TicketNames();
返回您必须分配然后 itterate 的List<String>
:
var tickets = new TicketSummary();
var names = tickets.TicketNames(); // <- names, List<String> according to the code
// printing out all the names
foreach(var name in names)
Console.WriteLine(name);
答案 1 :(得分:1)
你的意思是你只想打印所有门票吗?
foreach (var ticket in tickets.TicketNames())
{
Console.WriteLine(ticket);
}
答案 2 :(得分:1)
您的代码中存在多个问题,这些问题应该使其无法进行编译,但除此之外,看起来您真正想要的是转换数据在AllDevelopmentTickets
,而不是移动它在某处。所以你可以通过Select
调用(来自LINQ)来完成它。所以,在你的主要方法中:
var tickets = new TicketSummary();
// add some tickets to tickets.AllDevelopmentTickets here...
var ticketNames = tickets.AllDevelopmentTickets.Select(ticket => ticket.id.ToString();
// Yes, you should probably use an UI culture in the ToString call.
// I'm just trying to limit my line width =)
现在,ticketNames
应该是IEnumerable<string>
持有所有票证ID。例如,要打印出来,您可以迭代它们并写入控制台输出:
foreach (var name in ticketNames) {
Console.WriteLine(name);
}
答案 3 :(得分:0)
您忽略了返回的值。
static void Main(string[] args)
{
Console.ReadLine();
var tickets = new TicketSummary();
var res = tickets.TicketNames();
while ( for r in res )
{
Console.WriteLine(r);
}
}
答案 4 :(得分:0)
您需要指定/使用TicketNames()
方法的返回值。这似乎很多工作只是为了返回TicketId的字符串版本。这可以减少
public List<string> TicketNames()
{
return AllDevelopmentTickets
.Select(t => t.id.ToString(CultureInfo.InvariantCulture))
.ToList();
}
var ticketSummary = new TicketSummary();
var ticketNames = ticketSummary.TicketNames();
foreach(var ticketName in ticketNames)
{
Console.WriteLine(ticketName);
}
或者甚至只是:
foreach(var ticketName in AllDevelopmentTickets
.Select(t => t.id.ToString(CultureInfo.InvariantCulture)))
{
Console.WriteLine(ticketName);
}