1樓:匿名使用者
看到樓上的講得不夠詳細,再囉嗦幾句
c#中的問號
在c#中有個較為重要,而常被一些人忽視的符號——問號(?)。在這裡整理一下它在c#的幾種情況:
1. 可空型別修飾符「t?」:
可空型別的基礎型別可以是任何非可空值型別或任何具有struct約束的型別引數,但不能是可空型別或引用型別。例如:int?
代表是可空的整形,而int??則是無效型別。即可空型別可以表示其基礎型別的所有值和一個額外的空值。
語法 t?是system.nullable的縮寫形式。
可空型別具有一個hasvalue的bool型別只讀屬性,當可空型別例項的該屬性為true時,則表示該例項是非空例項,包含一個已知值value;hasvalue為false時,訪問value屬性將導致 system.invalidoperationexception。可空型別t?
具有一個型別為t的單個引數的公共建構函式,如new int?(123)將獲得一個值為123的int?型別例項。
從t?到由t實現的任何介面都存在裝箱轉換,並且從由t實現的任何介面都存在到t?的拆箱轉換。
但是任何情況下可空型別都不滿足介面約束,即使基礎型別實現了該特定介面。
2. 條件運算子「x ? y :
z」 : 「x ? y :
z」的意思大部分程式設計師應該都熟悉,稍微囉嗦一下:) 如果表示式x為true,則計算y;如果x為false,則計算z。省卻if{}else{}的簡單形式了。
3. 空合併運算子「??」:
該運算子是在泛型出現後,c#詞法語法中新增加的標記,同時出現的還有一個「::」(名稱空間別名限定符)。形式為「a??
b」的空合併表示式要求a為可空型別或引用型別。如果a為非空則表示式「a??b」返回的結果為a;否則返回b。
空合併運算子為右結合運算子,即操作時從右向左進行組合的。如,「a??b??
c」的形式按「a??(bb??cc)」計算。
曾有人說過「細節決定勝負」,我們程式設計師應該更好的把握程式語言的細節才能更好的保證軟體質量。
2樓:匿名使用者
單問號---用於給變數設初值的時候,給變數(int型別)賦值為null,而不是0!
雙問號---用於判斷並賦值,先判斷當前變數是否為null,如果是就可以賦一個新值,否則跳過!
public int? para;
//public int para;如果不註釋掉此行,而把上一行註釋掉的話,下面會報錯!
public int par()
3樓:匿名使用者
來遲1步,1樓正解!
4樓:
來遲到了,一樓為正確答案……
c# 中 << 操作符的意思是什麼?
5樓:匿名使用者
>> 是右移位運算 相等於除以2
<< 是左移位,相等於乘以2
都是把左右兩邊變成二進位制,然後逐位進行運算>>和《也是變成二進位制,然後往左邊和右邊移位比如17和13
17 二進位制是 10001
13二進位制是 01101
17 & 13 = 10001 & 01101 = 00001 也就是1
17 | 13 = 10001 | 01101 = 11101 也就是 29
17>> 就是10001 右移位 變成 01000 就變成8了17<< 就是10001 左移位 變成100010 變成34 了
6樓:豁然丶境地
《是左位移
把1轉換成二進位制,補零後化成十進位制得到一個數
c# 運算子「%」是什麼意思?
7樓:愛上鳥兒
%就是取餘數,/是取商。下邊是你的程式的註釋:
for (int i = 2; i <= 100; i++) //定義一個for迴圈取2到100以內的數。 }
if (flag == true) }
console.readline();
下邊是我的一個求100以內的素數的程式你可以看看,*string t = "";
for (int i = 3; i < 100; i++)}if (a == true)
t += i + "\t";
}console.write("2\t");
console.writeline(t);
console.readline();
8樓:匿名使用者
取模 就是求餘數
比如 10%2=0 5%2=1
作用很大的一個運算子
在這個運算算式裡結果總是小除數
所以可以用來做某中比較
比如說,想要求得某個比10小的數就可以是
int a= x%10;
除數10 可以是任意數可以是11,11000等,一般是整數型別
9樓:匿名使用者
計算2個數相除之後的餘數
例如 5/3=1餘數是2
標準名字好像叫「求模」
反正我不知道這個詞是誰翻譯的,太難懂,其實就是小學裡學的求餘數
10樓:匿名使用者
模運算,就是去餘數。一般用這種運算的目的,就是實現後邊的幾種分類,分類的數量等於你求模的「被除數」,比如你這個是2,結果就只有兩種, 0,1, 模3的,就是0,1,2
11樓:匿名使用者
5 % 2 的餘數是1 因此輸出1
% 的作用就是取餘數
像 5%5 餘數為0 因此會輸出0 不難理解的
12樓:匿名使用者
取餘數啊
a%b=0
就是a除以b的餘數=0
13樓:匿名使用者
%是取餘,就是餘數;/是取模。
14樓:邸淵在映安
11111111111111111111111111101000~運算子對運算元執行按位求補運算,其效果相當於反轉每一位。按位求補運算子是為
int、uint、long
和ulong
型別預定義的。
int是32位
c#中這個符號什麼意思?(=>)
15樓:匿名使用者
用linq寫的匿名**。
你就把+=後面的東西看成一個**好了。
**做的事情就是把cource裡面的item日期拿出來做了一個過濾,然後按照starttime做了一個升序排序
16樓:匿名使用者
記為,或者表示為,這是這方面的意思,這個在數學**中經常會出現
約等於是等號上面一個點
c#中 「|」這個符號是什麼意思?
17樓:匿名使用者
兩個「||」表示或,一個也有用的時候,但一般都用在一些特定的字串中
18樓:匿名使用者
1.整除
若b可被a整除,或a整除b,則可記作a|b2.批處理管道操作符
用法:命令1|命令2
作用:把命令1的執行結果作為命令2的引數傳遞給命令2
19樓:匿名使用者
我想bai你指的應du該是c#的運
zhi算符,看上dao面那個
專屬msdn介紹吧
20樓:匿名使用者
應該是 兩道 || 表示 或的意思
你這樣寫 是錯誤的
21樓:清風迎明月
位或運算。。。。。。。
22樓:匿名使用者
|對
參考這bai文章
duandalso,orelse和zhiand,or的區別dao(內vb.net)
|對應容orelse
c#中的"運算子過載"是什麼意思!回答要通俗!
23樓:匿名使用者
c#本身不帶"+,=" 的操作需要你自己來寫
這就需要操作符過載
24樓:
就是說,某個運算子本身有自己的作用,代表著特定的運算含意,而過載後它就可以進行另一種運算操作了。
25樓:匿名使用者
就是修改運算子本身的含義,使之在使用的時候執行你定義的操作
26樓:匿名使用者
就是說,加減乘除,在數學中的意思你一定是知道的,而c#也預設會按照約定俗成的規則來處理,但是如果你想在別的地方也使用「+-×/」這幾個符號呢
比如,一個字串「+」一個字串,你想得到什麼?
string str1 = "abcd";
string str2 = "1234"
想象中你希望得到的是「abcd1234」
可是如果我也想用「+」號,而我希望得到的結果是:"abcd"+"1234"="1234abcd"
那我就要過載"+"號,讓我的+號用我的邏輯為我服務而你的程式裡呢,就用你的邏輯為你服務
過載並不是再出現一次,而是重新宣告它的內容,賦予它新的命令
c#中^是什麼符號?
27樓:
c#中^是按位異或運算子(用於對資料的位進行操作),它表示的含義是逐位非或,要求兩個整型運算元。從最小(即最右)的位開始,對運算元逐位操作;如果只有其中一個位為1,那麼結果為1;否則為0。例如:
0000 0000 1011 1111^ 0000 1111 0101 1111為0000 1111 1110 0000。
28樓:匿名使用者
異或運算,數學一般寫作xor,這個把運算元換算成二進位制來看的話,就是2個數對應位相同為0,不同則為1.
比如你舉得例子5 xor 6=3
101 xor
110-----------
011這樣看是不更明瞭
可以看到低2為都不同,所以結果都是1,而最高位反而相同都是1,所以變成了0。同樣的,如果都是0,也是0。
29樓:匿名使用者
^是二進位制異或運算
例如,5的二進位制表示為101,
6的二進位制表示為110,
取異或為011
所以5^6=3
注意,5^6並不是5的六次方,切記!
30樓:佛凱樂
二進位制異或運算,5是101,6是110,取異或為011,為3
不同的時候得1,相同時為0
31樓:四葉草的恬謐
邏輯異或運算子,運算元型別:整型,布林型
32樓:錦州星河匯聯
位運算子,同位異為真,同位相同為假,位運算為二進位制運算5轉換二進位制是101
6轉換二進位制是110
結果是011 轉為10進製為3
33樓:匿名使用者
異或運算,5是101,6是110,取異或為011,為3
34樓:匿名使用者
右移賦值運算子。
class mainclass8}/*
output:
62*/
C中運算子和用法,c 中邏輯運算子 是或的意思
算術運算子 邏輯運算子 字串連線運算子 增量和減量運算子 移位運算子 比較運算子 賦值運算子 成員訪問運算子 用於物件和結構 索引運算子 用於陣列和索引器 資料型別轉換運算子 條件運算子 三元運算子 委託連線和刪除運算子 物件建立運算子 new 型別資訊運算子 sizeof 只用於不安全的 is a...
C運算子過載是什麼意思C中運算子過載到底有什麼何意義?
所謂過載,就是重新賦予新的含義。函式過載就是對一個已有的函式賦予新的含義,使之實現新功能,因此,一個函式名就可以用來代表不同功能的函式,也就是 一名多用 運算子也可以過載。實際上,我們已經在不知不覺之中使用了運算子過載。例如,大 家都 已習慣於用加法運算子 對整數 單精度數和雙精度數進行加法運算,如...
c中運算子《是幹什麼用的,C中運算子和運算子有什麼區別
在沒有過載的情況下,運算元都是整數時,是位移運算。這個例子中就是將i這個整數表示成的二進位制數左移k個位置,右邊補0。位運算的 就是向左移幾位 你的程式有未定義行為,最好不要用 輸出運算子,相當於printf c 中 運算子和 運算子有什麼區別 是左移運算子號,是把運算元看成二進位制數,然後左移指定...