小编fre*_*ill的帖子

Python比较整数与十六进制和二进制数

如何比较一个int数字与十六进制和二进制数?

除了我在下面找到的方法之外,还有其他可用的方法吗?

if b'\xFF'[0] == 255:
    print("yes")

if bin(b'\xFF') == bin(255)
    print("yes")
Run Code Online (Sandbox Code Playgroud)

上面是进行一些调用和转换。如果无法使用任何输入格式(二进制、十六进制、十进制)定义数字并且对于编译器来说仍然是相同的数字,我会感到惊讶。

到目前为止,我所知道的几乎所有编译器都可以用不同的表示法来表示数字,但在 Python 中却不能,就像这样:

if 255 == 0xFF
    print("yes")
Run Code Online (Sandbox Code Playgroud)

python hex

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

C#属性作为参考

基本的基础我搞砸了C#属性和引用类型.

public Address adr { get; set; }

public class Address
{

    //Field
    public string AddressLine1;   

    //Property
    public string Country {get; set;}
}

public void ChangeCountry(string _Country)
{
    _Country = "US";
}

public void ChangeAddress(Address _adr)
{
    _adr.Country = "US";
}

private void button1_Click(object sender, EventArgs e)
{
    adr = new Address();
    ChangeCountry(adr.Country);

    MessageBox.Show(adr.Country);
    //(?)Country is reported empty string. Property did not updated outside.

    ChangeAddress(adr);

    MessageBox.Show(adr.Country);
    //OK. Country is reported 'US'


}
Run Code Online (Sandbox Code Playgroud)

在这里我的问题;

  1. 当我们将一个Property(简单或复杂的)直接传递给将尝试修改它的方法时,是否确保此属性在任何地方都被修改?我的意思是像ref关键字一样?因为我不能将"ref"关键字与属性一起使用;我直接将属性传递给方法进行修改,我不确定它是否总是会在外部更新/修改.当我没有看到ref关键字; 这让我很担心:)

  2. 在上面的例子中; …

c# properties reference parameter-passing argument-passing

1
推荐指数
1
解决办法
9753
查看次数