3

我正在考虑整理一下,但我对 C# 有点陌生

ResponseList responsesList = new ResponseList();
PagedResponseList pagedResponsesList = new PagedResponseList();
responsesList = responseService.ListSurveyResponses(1000);
pagedResponsesList = responsesList.ResultData;

这可能是一个简单的问题,但是单行所需的语法让我无法理解。

4

4 回答 4

7

首先,您实际上并不需要new前两行中的两个语句,因为这些new实例将被您在最后两行中分配的任何内容覆盖。

如果您是 C# 新手,我建议您至少坚持两行,以便您至少了解步骤中发生的情况。特别是最后两行:

ResponseList responsesList = responseService.ListSurveyResponses(1000);
PagedResponseList pagedResponsesList = responsesList.ResultData;

然后,如果您以后不会responsesList在代码中使用,您可以将这两行压缩为以下行,并且您认为它很容易理解(基本上,只需将.ResultData属性链接到后面responseService.ListSurveyResponses()):

PagedResponseList pagedResponsesList = responseService.ListSurveyResponses(1000).ResultData;
于 2012-05-17T17:20:55.277 回答
5
var pagedResponsesList = responseService.ListSurveyResponses(1000).ResultData;
于 2012-05-17T17:20:28.380 回答
1

正如其他人所建议的那样,您可以将它们全部放在一行中,如下所示:

var pagedResponsesList = responseService.ListSurveyResponses(1000).ResultData;

但我认为,鉴于您正在调用另一个服务,您真的很想进行一些异常处理,在引用之前检查您的结果是否为 null.ResultData等。

于 2012-05-17T17:24:15.070 回答
0
PagedResponseList pagedResponsesList=responseService.ListSurveyResponses(1000).ResultData
于 2012-05-17T17:21:48.170 回答