小编Jav*_*ram的帖子

null + true是一个字符串怎么样?

既然true不是字符串类型,字符串怎么样null + true

string s = true;  //Cannot implicitly convert type 'bool' to 'string'   
bool b = null + true; //Cannot implicitly convert type 'string' to 'bool'
Run Code Online (Sandbox Code Playgroud)

这背后的原因是什么?

.net c# string null types

112
推荐指数
7
解决办法
5323
查看次数

为什么C中的"a"!="a"?

void main() {
    if("a" == "a")
      printf("Yes, equal");  
    else
      printf("No, not equal");
}
Run Code Online (Sandbox Code Playgroud)

为什么输出No, not equal

c string

110
推荐指数
5
解决办法
1万
查看次数

使用此复合形式时,为什么使用XOR交换值失败?

我发现这个代码使用XOR ^运算符交换两个数字而不使用第三个变量.

码:

int i = 25;
int j = 36;
j ^= i;       
i ^= j;
j ^= i;

Console.WriteLine("i:" + i + " j:" + j);

//numbers Swapped correctly
//Output: i:36 j:25
Run Code Online (Sandbox Code Playgroud)

现在我将上面的代码更改为此等效代码.

我的代码:

int i = 25;
int j = 36;

j ^= i ^= j ^= i;   // I have changed to this equivalent (???).

Console.WriteLine("i:" + i + " j:" + j);

//Not Swapped correctly            
//Output: i:36 j:0
Run Code Online (Sandbox Code Playgroud)

现在,我想知道,为什么我的代码输出不正确?

c# swap xor

76
推荐指数
3
解决办法
4716
查看次数

C#中的八进制等效

在C语言中,可以通过00在数字之前放置来编写八进制数

编者注:它是一个单一的前导0,它将数字文字标识为C中的八进制值; 其他0实例无效.

 int i=0012; //equals 10 in decimal
Run Code Online (Sandbox Code Playgroud)

我在C#中找到了相当于Hexadecimal的0x数字,例如放在数字之前

 int i=0xA; //equals 10 in decimal
Run Code Online (Sandbox Code Playgroud)

现在我的问题是: C中的八进制数是否与C中的相同,以表示任何数字为八进制数?

.net c# numbers

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

C#中foreach循环中的计数器

foreach的工作: 据我所知,

foreach是一个循环,它逐个遍历集合或数组,从0索引开始直到集合的最后一项.

所以,如果我在数组中有n个项目.

foreach (var item in arr)
{

}  
Run Code Online (Sandbox Code Playgroud)

然后,在第一次迭代中,item = arr [0];
然后,在第2, item = arr [1];
.
.
.
在last(nth), item = arr [n-1];

结论:从工作开始,它似乎在每次迭代时都知道从数组中取出哪个值,或者它知道要从数组中获取的项的索引.

现在我的问题是:如何在不使用新变量的情况下获取项目的索引?

foreach (string item in mylist)
{
   if (item == "myitem")
   {
       // get index of item
       break;
   }
}
Run Code Online (Sandbox Code Playgroud)

c# foreach counter

43
推荐指数
4
解决办法
11万
查看次数

为什么在C#中-3 == ~2

无法理解.为什么输出"平等"

码:

 if (-3 == ~2)           
    Console.WriteLine("equal");
 else
    Console.WriteLine("not equal");
Run Code Online (Sandbox Code Playgroud)

输出:

equal
Run Code Online (Sandbox Code Playgroud)

.net c# bitwise-operators twos-complement conditional-statements

37
推荐指数
2
解决办法
1716
查看次数

为什么在C#中浮动.NaN!= double.NaN?

为什么float.NaN != double.NaN

float.PositiveInfinity == double.PositiveInfinityfloat.NegativeInfinity == double.NegativeInfinity相等的.

例:

bool PosInfinity = (float.PositiveInfinity == double.PositiveInfinity); //true
bool NegInfinity = (float.NegativeInfinity == double.NegativeInfinity); //true

bool isNanEqual = (float.NaN == double.NaN);  //false, WHY?
Run Code Online (Sandbox Code Playgroud)

.net c# nan

29
推荐指数
3
解决办法
2999
查看次数

检查完美广场的最短路径?

可能重复:
确定输入是否是完美正方形的好算法是什么?

我希望用最短最简单的方法来检查数字是否是C#中的完美平方

一些完美的正方形:

1, 4, 9, 16, 25, 36, 49, 64, 81, 100, ......
Run Code Online (Sandbox Code Playgroud)

c# square-root

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

在VB.Net中用&和+表示Concat字符串

在连接字符串时,&和+运算符之间是否有任何区别?如果有,那么有什么区别?如果否,那么为什么下面的代码生成异常?

例:

    Dim s, s1, t As String
    Dim i As Integer

    s1 = "Hello"
    i = 1

    s = s1 & i
    t = s1 + i  //Exception here

    If s = t Then
        MessageBox.Show("Equal...")
    End If
Run Code Online (Sandbox Code Playgroud)

vb.net concatenation

23
推荐指数
3
解决办法
10万
查看次数

DataGridView keydown事件无法在C#中工作

当我在单元格内编辑文本时,DataGridView keydown事件不起作用.

我正在分配快捷键Alt + S来保存数据,它在单元格不处于编辑模式时有效,但如果它处于编辑模式,则代码不能正常工作

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
 {
    if (e.KeyData == (Keys.Alt | Keys.S))
    {
         //save data
    }
 }
Run Code Online (Sandbox Code Playgroud)

.net c# datagridview keydown winforms

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