2014-02-10 26 views
1

我试图在Google和Bing上进行搜索,但都返回零结果....-Convert.ToSingle做什么?

当您在转换前放置连字符时,这意味着什么?

-Convert.ToSingle 
+8

a)将*减号*放在任意数字前面会发生什么,以及b)在大多数搜索引擎中将*减号*放在任何特定搜索词前会发生什么? –

+0

再次搜索删除'-' :) –

+0

@ L.B整点是连字符... –

回答

10

这只是-运营商,应用到呼叫Convert.ToSingle(...)的结果。

因此,例如,作为一元运算符使用时:

double x = 10.52123; 
float y = -Convert.ToSingle(x); 

相当于:

double x = 10.52123; 
float tmp = Convert.ToSingle(x); 
float y = -tmp; 

或者作为二进制运算符时:

double x = 10.52123; 
float y = 10-Convert.ToSingle(x); 

相当于:

double x = 10.52123; 
float tmp = Convert.ToSingle(x); 
float y = 10 - tmp; 
+0

谢谢先生。在此基础上一如既往 –

+0

说这个操作符(当应用于'Single'或'Double')简单的符号切换尾数是否正确? – Gusdor

+0

@Gusdor:据我所知,这是正确的,是的。但是我把'Convert.ToSingle'作为一个例子 - 我试图提供一个更一般的答案。 –

2

我会说这是对

-1 * Convert.ToSingle(...) 

速记由于该方法返回一个Single(这是一个数字,所以它受到的算术运算符)

+0

虽然'Convert.ToSingle'的结果是正确的,但并非所有类型都是如此。类型可以重载一元和二元'-'运算符,但可以选择不重载'*'运算符。 –

1

- 运算符是一元或二元运营商。对数字类型进行一元操作的结果是操作数的数字否定。举例

int x = 5; 

    float b = -Convert.ToSingle(x); 

    Console.WriteLine(b); 

这里的输出应该是-5。在没有一元运算符的情况下。输出值应该只是5

0

只要想一想C#语法:什么意思是减号在赋值的权利?在每种语言中(或几乎不要跟我说Brainfuck & co),这意味着更改后面的号码的符号。
因此,此减号后的操作必须返回Number。好,那是what Convert.ToSingle does,它返回float

float x = -  Convert.ToSingle(42); 
     ^ ^^^^^^^^^^^^^^^^ 
     ^  function call 
     minus operation 

// equivalent to: 
float x = 0 - Convert.ToSingle(42); 
      ^^^ 
      0 minus the result