当前位置:  开发笔记 > 编程语言 > 正文

匿名类型VS局部变量,何时应该使用?

如何解决《匿名类型VS局部变量,何时应该使用?》经验,为你挑选了1个好方法。

我不确定何时应该在C#中使用匿名类型而不是局部变量.

我有:

string  fullMessage // This is the full message including sender and recipient names

string sender = GetMessagePart(fullMessage, "from");
string recipient = GetMessagePart(fullMessage, "to");

//do some stuff and deliver the message

我应该使用:

var msg = new { 
sender = GetMessagePart(fullMessage, "from")
recipient = GetMessagePart(fullMessage, "to")
};

代替?



1> Marc Gravell..:

你的意思是静态类型的变量?请注意,匿名类型静态类型的...(由于问题编辑而被删除)

C#匿名类型有2个问题:

你不能通过方法API公开它们

你不能改变它们(成员是只读的)

如果您只需要了解单个方法中的数据,并且它是只读的,那么匿名类型就很方便(实际上这涵盖了很多情况).

如果您需要改变数据或将其传递给调用者,则使用定制类或简单变量(等).

在给出的情况下,我看不出使用匿名类型的理由; 如果您只想要这些值,请使用单独的变量方法.如果"消息"具有已定义的含义,则声明一个Message类并填充该类.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有