标签: variable-assignment

表达式必须是可修改的L值

我在这里 char text[60];

然后我做了一个if:

if(number == 2)
  text = "awesome";
else
  text = "you fail";
Run Code Online (Sandbox Code Playgroud)

它总是说表达式必须是可修改的L值.

c char variable-assignment lvalue

29
推荐指数
1
解决办法
9万
查看次数

在C#构造函数中初始化时哪个更好:初始化列表或赋值?

A类使用初始化列表将成员设置为参数值,而B类使用构造函数体内的赋值.

只要我保持一致,任何人都可以给出任何理由而不喜欢一个吗?

class A
{
    String _filename;

    A(String filename) : _filename(filename)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)


class B
{
    String _filename;

    B(String filename)
    {
        _filename = filename;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# constructor initialization variable-assignment

28
推荐指数
3
解决办法
4万
查看次数

Python中的这种赋值是什么叫做?a = b =真

我知道有关元组拆包的内容,但是这个赋值是什么,你在一行上有多个等号?一个啦a = b = True

当RHS可变时,它总是让我感到沮丧,但我在找到正确的关键词以便在文档中搜索时遇到了麻烦.

python variable-assignment

28
推荐指数
3
解决办法
1万
查看次数

在Java中修剪字符串的正确方法

在Java中,我这样做是为了修剪一个字符串:

String input = " some Thing ";
System.out.println("before->>"+input+"<<-");
input = input.trim();
System.out.println("after->>"+input+"<<-");
Run Code Online (Sandbox Code Playgroud)

输出是:

before->> some Thing <<-
after->>some Thing<<-
Run Code Online (Sandbox Code Playgroud)

作品.但我想知道如果通过为自己分配一个变量,我做的是正确的.我不想通过创建另一个变量并为其分配修剪值来浪费资源.我想在原地进行修剪.

我这样做对吗?

java string trim variable-assignment

28
推荐指数
2
解决办法
8万
查看次数

Python的逗号运算符在赋值期间如何工作?

我正在阅读Python文档中的赋值语句(http://docs.python.org/reference/simple_stmts.html#assignment-statements).

因此引用:

如果目标是括在括号中或方括号中的目标列表:对象必须是与目标列表中的目标具有相同数量的项目的可迭代对象,并且其项目从左到右分配给相应的目标.

读完之后,我想写一个这样的样本:

a = 5
b = 4
a, b = a + b, a
print a, b
Run Code Online (Sandbox Code Playgroud)

我的假设是a和b都应该具有9的值.

但是,我被证明是错的.'a'的值为9,'b'的值为5.

有人可以帮助我更好地理解这一点吗?为什么要分配旧值'a'而不是新值?根据文档,首先会分配一个值?我错过了什么吗?

python tuples comma variable-assignment

27
推荐指数
3
解决办法
2万
查看次数

为什么我不能添加两个字节并得到一个int,我可以添加两个最后的字节得到一个字节?

public class Java{
    public static void main(String[] args){
        final byte x = 1;
        final byte y = 2;
        byte z = x + y;//ok
        System.out.println(z);

        byte a = 1;
        byte b = 2;
        byte c = a + b; //Compiler error
        System.out.println(c);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果涉及任何int-sized或者更小的表达式的结果总是为int,即使两个字节的总和适合一个字节.

当我们添加两个适合字节的最终字节时,为什么会这样? 没有编译器错误.

java int scjp variable-assignment ocpjp

27
推荐指数
2
解决办法
2万
查看次数

Go vs:= Go

在此处的Go Web服务器示例中:http://golang.org/doc/effective_go.html#web_server

以下代码行有效

var addr = flag.String("addr", ":1718", "http service address")
Run Code Online (Sandbox Code Playgroud)

但改变它

addr := flag.String("addr", ":1718", "http service address")
Run Code Online (Sandbox Code Playgroud)

是一个编译错误.为什么?是否与函数的返回类型*string而不是面部有什么关系string?这有什么不同?

更新:感谢您指出:=顶层不允许这样做.知道为什么这种不一致性在规范中?我没有看到任何理由在块内部行为有所不同.

variable-assignment go colon-equals

27
推荐指数
3
解决办法
8689
查看次数

替换对象列表中的对象

在C#中,如果我有List<T>,我有类型的对象T,我怎么能在替换特定项目List<T>类型的对象T

这是我尝试过的:

List<CustomListItem> customListItems = new List<CustomListItem>();
CustomListItem customListItem1 = new CustomListItem() { name = "Item 1", date = DateTime.MinValue};
CustomListItem customListItem2 = new CustomListItem() { name = "Item 2", date = DateTime.MinValue };
CustomListItem customListItem3 = new CustomListItem() { name = "Item 3", date = DateTime.MinValue };

customListItems.Add(customListItem1);
customListItems.Add(customListItem2);
customListItems.Add(customListItem3);

CustomListItem newCustomListItem = new CustomListItem() { name = "Item 4", date = DateTime.Now };

customListItem2 = customListItems.Where(i=> i.name == "Item 2").First(); …
Run Code Online (Sandbox Code Playgroud)

.net c# list generic-list variable-assignment

27
推荐指数
2
解决办法
5万
查看次数

部分初始化C结构

链接指出"当自动数组或结构具有部分初始化程序时,其余部分初始化为0".我决定尝试我读到的内容,并编写以下代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
    //int arr[3] = {2};  // line no. 7

    struct s {
        int si;
        int sj;
    };

    struct s myStruct;
    myStruct.si = 9;
    printf("%d\n", myStruct.sj);
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么4096(我相信这是一些"垃圾"价值)在我评论时打印出来line no. 7,0当我取消评论时我得到了line no. 7.我不认为arr声明与main()激活记录(或更确切myStruct)有关,应该是这样(如果我们没有line no. 7注释):

---------------
|  Saved PC   |
---------------
|  arr[2]     |
---------------
|  arr[1]     |
---------------
|  arr[0]     |
---------------
|  si …
Run Code Online (Sandbox Code Playgroud)

c struct initialization variable-assignment

27
推荐指数
3
解决办法
9496
查看次数

为什么赋值运算符(=)在foreach循环中无效?

为什么赋值运算符(=)在foreach循环中无效?我正在使用C#,但我认为该参数对于其他支持的语言foreach(例如PHP)是相同的.例如,如果我这样做:

string[] sArray = new string[5];

foreach (string item in sArray)
{
   item = "Some assignment.\r\n";
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,"无法分配给'item',因为它是'foreach迭代变量'."

c# foreach variable-assignment

26
推荐指数
3
解决办法
2万
查看次数