使用数据创建对象时有什么区别
className a = new className {id = "foo" , Name = "sass"}
和
className a = new className() {id="foo",Name="sass"}
答案 0 :(得分:3)
呼叫new className
反对new className()
不会有什么区别。它们都调用默认构造函数。间距差也无关紧要。
两个代码段都由编译器重写为等效于以下内容:
className a = new className();
a.id = "foo";
a.Name = "sass";
答案 1 :(得分:1)
完全没有区别。但是,如果您要调用另一个构造函数,例如,则需要括号。当没有定义无参数的构造函数时:
<div class="container">
<div class="row"id="blog">
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="col-md-5"id="blog-post">
<div class="post-title"><?php echo get_the_title($post_id); ?></div>
<div class="post-txt"><?php echo get_excerpt(); ?></div>
</div>
<?php endwhile;?>
<?php endif; ?>
</div>
</div>
在第一种语法中是不可能的。
答案 2 :(得分:1)
两种情况下生成的代码IL相同:
IL_001f: newobj instance void C/ClassName::.ctor()
例如
答案 3 :(得分:0)
什么都没有。如果您有一个无参数的构造函数,则仍会调用它。 MS Docs