Questions tagged «variable-assignment»

设置或重新设置存储在以变量名表示的存储位置中的值的过程。

11
检查null并分配另一个值的最短方法
我正在将varchar值从数据库中提取出来,如果要设置的话,string我想将其分配为“” null。我目前正在这样做: if (string.IsNullOrEmpty(planRec.approved_by) == true) this.approved_by = ""; else this.approved_by = planRec.approved_by.toString(); 似乎应该有一种方法可以像这样: this.approved_by = "" || planRec.approved_by.toString(); 但是,我找不到实现此目的的最佳方法。有没有更好的方法,或者我有最好的方法吗?


6
为什么在Python for循环中可以对迭代器和序列使用相同的名称?
这更多是一个概念上的问题。最近,我在Python中看到了一段代码(它在2.7中有效,它也可能在2.5中运行过),其中一个for循环对要迭代的列表和列表中的项目使用相同的名称,这既使我感到不道德,也使它不起作用。 例如: x = [1,2,3,4,5] for x in x: print x print x 产量: 1 2 3 4 5 5 现在,对我来说有意义的是,最后打印出的值将是循环中分配给x的最后一个值,但是我无法理解为什么您能够在for循环的两个部分中使用相同的变量名并具有它按预期起作用。它们在不同的范围内吗?允许这种事情发生的事情到底是怎么回事?


11
在Python中的while循环条件中分配变量?
我刚刚遇到了这段代码 while 1: line = data.readline() if not line: break #... 并且认为,必须有一个比用无限循环更好的方法break。 所以我尝试了: while line = data.readline(): #... 显然有一个错误。 有什么方法可以避免break在那种情况下使用? 编辑: 理想情况下,您要避免readline重复说两次...恕我直言,重复甚至比a还要糟糕break,尤其是在语句很复杂的情况下。

6
赋值内的JavaScript AND运算符
我知道您可以在JavaScript中执行以下操作: var oneOrTheOther = someOtherVar || "these are not the droids you are looking for..."; 其中变量oneOrTheOther将在第一表达式的值,如果它不是null,undefined或false。在这种情况下,它将被分配给第二条语句的值。 但是,oneOrTheOther当我们使用逻辑AND运算符时,变量将分配给什么呢? var oneOrTheOther = someOtherVar && "some string"; someOtherVar非假的时候会发生什么?假的 时候会发生什么someOtherVar? 只是学习JavaScript,我很好奇结合AND运算符的赋值会发生什么。

8
检查返回的值是否不为null,如果是,则使用一种方法调用在一行中进行赋值
Java充满了如下语句: if(cage.getChicken() != null) { dinner = cage.getChicken(); } else { dinner = getFreeRangeChicken(); } getChicken()在将返回的对象分配给之前,需要进行两次调用dinner。 也可以这样写成一行: dinner = cage.getChicken() != null? cage.getChicken() : getFreeRangeChicken(); 但是可惜仍然有两个呼吁getChicken()。 当然,我们可以分配一个局部变量,然后如果它不为null,则再次使用三元运算符对其进行分配,但这是两行,并不是那么漂亮: FutureMeal chicken = cage.getChicken(); dinner = chicken != null? chicken : getFreeRangeChicken(); 所以有什么办法可以说: 变量var =如果某个值不为null或某个其他值,则为某个值; 而且我想我只是在这里说语法,在代码编译之后,从性能的角度看,代码的编写方式可能并没有多大区别。 由于这是常见的代码,因此最好编写一个代码行。 其他语言是否具有此功能?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.