1樓:匿名使用者
不太懂你這**是幹嘛的?
至於你所說的錯誤是 code = (char)number + convert.tochar(number % 10);
這句**相加的時候(char)number 和 convert.tochar(number % 10) 會隱式轉換為int型的在相加,也就是說char型別的變數不能相加,相加時都會隱式轉換為int,當然相加的結果自然就是int型的了,但是你又將結果賦給一個char型別的變數,當然就會出錯啦!你可要把這句改成code = convert.
tochar(number + number % 10); 但是這樣又會有另一個異常,因為random.next()返回的隨機數太大,不能轉換為char型別,你應該在random.next()中加個引數,如random.
next(9),就是隨即產生一個0-9的隨機數
2樓:匿名使用者
不知道你想作什麼
(char)number + convert.tochar(number % 10);這種東西結果就是int型別
所以你把一個int型別轉給char的code就會出錯!
你的random出的來很大,使用種子限制一下
3樓:爸暉很想你
因為int不能隱式轉換為char型別的,但是也不能把char改成 (char)number改成convert.tochar,你想想,char是單個字元型別,兩個char型別相加還能是char型別嗎。
我有個笨辦法。。呵呵。如果你不見意,可以用一下
string strcode = "";
int number = 0;
char code = '\0';
system.random random = new random();
int code_i = 0;
for (code_i = 0; code_i <= 5; code_i++)
{number = random.next();
code = convert.tochar((char)number + convert.tochar(number % 10));
strcode += code.tostring();
4樓:來元彤
int型別 轉換為 char資料型別時
會造成 資料精度或者資料 的丟失
一般轉換為 低精度向高精度進行轉換
可以採用強制轉換 convert.tochar
c#高手進!為什麼char型別的可以直接賦值給int型別的,但反過來不行?
5樓:匿名使用者
可以通過的 怎麼會不行? 是因為你覺得輸出的是b? 那是因為a+1的值就是b,然後剛好你定義的char型別的變數是b, 然後你覺得輸出b是輸出了變數名?是這樣的麼?
6樓:匿名使用者
c#中隱式轉換相關,由高向低相容
char型別範圍是0-255
int型別範圍比char型別大,如果int型別能夠自動轉換成char型別(當int型值超過char型別可容納的範圍)勢必會造成數值範圍溢位,
這就是設計人員的初衷
7樓:放羊的小星星
可以吧。int就轉成對應ascii碼的字元了。
請教個c#char和int的轉換問題
8樓:
char和int可以轉換,因為char就是ascii碼呀,就是int,如65就**'a'。
char c = (char)65;
反過來也是一樣的
int i = (int)'a';
9樓:匿名使用者
int b;
string a = "............";
if (int.tryparse(a, out b))
c#如何將char型別轉換成int
10樓:紫影靈風
int a=convert.toint32(char),這個是最普通的轉換,即把字串(字元)型別的數字轉換為int型別
char a = 'b;
int b = (int)a;
這樣得到的結果就是98,是字元b(小寫)在ascii碼中對應的值
11樓:瘋狂**
直接就可以啊
假如 char s;
比如 int x = (int)s;
12樓:匿名使用者
convert.toint32(放char型別的值)
13樓:dragon元
convert.toint32()
c#怎麼把char轉換成int?
14樓:匿名使用者
一個char型別的字元在計算機中以int型別儲存(就是用數字代表,類似於二進位制),所以你轉換成int型別會得到莫名其妙的結果.可以先將char轉為string,然後再int.parse(char);親測可用
char a='1';
string a1=a.tostring();
//int result=(int)a1;
//結果會得到49(證明了一個char型別的'1'字元在計算機中用49來表示)
int result=int.parse(a1);
//得到結果為int型別的1
15樓:小人物看帖
char a = '5';
int b = convert.toint32(a.tostring());
16樓:匿名使用者
你把char轉成string 在轉int唄
17樓:匿名使用者
直接就可以啊
假如 char s;
比如 int x = (int)s;
c#中無法將int隱式轉換為int[]
18樓:
出錯的語句是int t = list;
c#的語法有嚴格的限制,型別不同時必須進行顯式或是隱式的轉化,若是不能轉換,便出現型別錯誤的提示的!
你的list是int型別的,而 t 則是一個int型別的.顯然,int無法隱式進和轉換的!所以就報出這樣的錯誤來!
如果改為int t = list;則這句就是正確的!這時兩者都是陣列型別了.
19樓:匿名使用者
int list
list是陣列型別;
int t=list[0]
這樣是可以的
一個陣列型別是弱型別,int是強型別
轉化的是list的某一個元素;不要搞錯了
20樓:
int t=list[下標]
我沒仔細看你的程式,所以下標是幾你自己來定。
21樓:
int= list[i];
沒仔細看下面**,不知道邏輯對不對
c#無法將型別"int"隱式轉換為"string"
22樓:
a007,a008,a010 三個變數已經定義成string型別了,不能再宣告為int
23樓:匿名使用者
你要轉換啊 ,你這樣肯定不行啊、
無法將型別「int」隱式轉換為「string」
這有什麼不對,電腦除錯時就顯示 所有的資料都是一系列的位,即一組0和1。char型別是用一個數字表示的unicode字符集中的一個字元。實際這個數字儲存0 65535之間的數字!從char型別到int型別,是可以隱式轉換的。int n aa char型別隱式地轉換為int型別string ee aa...
c中如何將string陣列轉換為int陣列
舉個bai例子。du string strarray a,b,c,d,e,f,g split new char int intarray c 3.0下用 此句zhi intarray array.convertall strarray,s int.parse s 2.0下用以下的語dao句替換 專上...
怎麼把int轉換為char型別,在java中怎麼把一個int型別轉為char 型別的啊
nt轉char實際是轉成ascll碼,int的資料bai可以是個位數,也du可以是更大的數,如果是個位數,可以用zhi編譯器自帶的函式變成char。int函式將返回實數向下取整後的整數值。語法格式為int number 其中的number是需要進行取整的實數。例如int 8.6 的返回值為8,而in...