c# - 在一行中实例化并返回一个对象
问题描述
下面的代码有效,显示了当对象被实例化时对象的返回。为什么这行得通?在我看来,我可以理解“Return new ...”,或者在单独的行上实例化 Dummy1 和“Return Dummy1”。
public class TestClass1
{
public string s = "test2";
}
public TestClass1 GetTestClass()
{
TestClass1 dummy1;
return dummy1 = new TestClass1(); // Why is this valid?
}
解决方案
这是因为在 C# 中,赋值也是产生值的表达式。
试试这个:
public class Program
{
public static void Main()
{
var str1 = "foo";
var str2 = (str1 = "bar");
Console.WriteLine(str2);
}
}
你会看到str2
它将保存str1
被分配 value 的 value "bar"
。
推荐阅读
- javascript - 绘制从 div 左下角到某个目的地的路径
- linux - 如何解释 ARM64 上的虚拟内核内存布局?
- node.js - 如何使用node.js每隔一秒在csv文件中输入数据
- reactjs - react-beautiful-dnd 和约束只允许列表中的某些位置
- java - 从在线资源复制数据库
- swift - 在 MacOS 上使用 VLCKit 在本地录制流 - 寻找示例
- c++ - 如何在 C++ 中动态生成带有序号的文件名
- html - DIV 填充干扰宽度
- c# - SQLite 单元测试中的 FOREIGN KEY 约束失败
- makefile - 将我自己的头文件添加到 ATSAMA5D36 开发板库的代码中