我已经看到了几个关于这个的问题,并做了一些研究.
我的理解是当你在IEnumerable上运行foreach时:如果T是一个引用类型(例如Class),你应该能够在循环中修改对象的属性.如果T是值类型(例如Struct),则这将不起作用,因为迭代变量将是本地副本.
我正在使用以下代码在Windows应用商店应用上工作:
我的课:
public class WebResult
{
public string Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string DisplayUrl { get; set; }
public string Url { get; set; }
public string TileColor
{
get
{
string[] colorArray = { "FFA200FF", "FFFF0097", "FF00ABA9", "FF8CBF26",
"FFA05000", "FFE671B8", "FFF09609", "FF1BA1E2", "FFE51400", "FF339933" };
Random random = new Random();
int num = random.Next(0, (colorArray.Length - 1));
return "#" + colorArray[num]; …Run Code Online (Sandbox Code Playgroud) 我对以下代码感到困惑:
代码#1
$("#btn1").click(alert("hello"));
Run Code Online (Sandbox Code Playgroud)
代码#2
$("#btn1").click(function() {
alert("Btn 1 Clicked");
});
Run Code Online (Sandbox Code Playgroud)
使用代码#1,alert无需单击按钮即可运行功能.为什么在alert没有click触发事件的情况下调用该函数?我认为click只有当用户点击按钮时才会运行一个函数,然后该alert函数将被运行.请指正.
有人可以向我解释为什么这些代码示例表现不同?