C型別變數賦值的問題,C 使用了未賦值的區域性變數,如何賦值?

2022-03-21 07:38:12 字數 4110 閱讀 8999

1樓:龍天騎士

你定義了基類的變數mybase 但也只是定義了而已 記憶體中並有開闢相應的記憶體空間 必須new 或者把他指向其他空間才能正常使用~所以你沒給他賦值或者沒new 是不能呼叫dosomething()方法的~~

不同的類一般情況下是不能相互賦值的~但是有幾個特例,比如 兩個是繼承關係 子類例項可以給父類變數賦值~或者兩個類的例項型別相同等情況~

最後一個問題 ~父類物件不能呼叫子類的屬性方法 子類的物件可以呼叫父類的屬性方法~如果你子類重寫了父類的方法 你得到的是子類的方法值 但是你呼叫的仍然是父類的方法~只不過c#自己發現了重寫後的值 取了一下而已。。。

補充一點 你子類沒有用override重寫方法 不可能得到derived imp

2樓:匿名使用者

myderivedclasee myderived = new myderivedclasee();

mybaseclass mybase;

mybase = myderived;

mybase.dosomething(); //呼叫mybaseclass的dosomething, 因為myderivedclasee中的dosomething用了new,而不是override,new表示定義了一個與基類完全沒關係的同名函式,override表示重寫了基類的同名函式,但具有相同意義。

myderived.dosomething(); //呼叫myderivedclasee的dosomething

mybase.test1(); //錯誤,因為基類不認識test1。

(mybase as myderivedclasee).test1(); //用as轉換後可呼叫myderivedclasee的test1

c#使用了未賦值的區域性變數,如何賦值?

3樓:匿名使用者

string name1 = 「」;

string name2 = 「」;

int age1 = 0;

int age2 = 0;

定義變數是直接初始化,養成好的習慣可以減少很多不必要的錯誤。

4樓:汝諾步天心

假設你的number=-1,你會發現你的if一條都沒執行,這時候cost等於多少呢?編譯器沒辦法確回定答cost的值,所以會給你標紅,你需要在定義它的時候初始化一下,如cost=0(如果是c#

7.0,你可以用cost=default),或保證你的if能覆蓋所有情況。

5樓:無秉朋佳

對於string型別的變數,最好的初始賦值是string

name1=null;

string

name2=null;

而判斷是否賦值最好是用

if(name1.length>1)

判斷,之後再輸出比較好

6樓:空湘章元瑤

console.writeline("第二個學員的姓名(0),年齡歲",

name2,

age2);

這句話好像沒有給值吧,樓主

c#中的變數賦值問題

7樓:周海濤

console.writeline(m);

這個輸出就不用說了吧,直接輸出8;

console.writeline(a);

這個呢, 首先a=8; 當執行p=a++的時候, a的值,已經+1了;現在a的值是9了;

console.writeline(p);

這個是先取a的值,輸出8;

8樓:

m = m++;

為什麼要這樣呢?

直接m++

不就行了嗎?

這個應該是一個不正確或者有歧義的語句。

9樓:

a++之後a本來的值8賦給了p,但是a自加了1所以是9

m是在自加之前就把本來的值又賦給了m

10樓:匿名使用者

a是先++後才賦值的,m直接賦值了。

c#給變數賦值出現問題

11樓:匿名使用者

說明從資料庫裡讀取到的x欄位,不是一個float值,所以出錯了,你可以**修改一下:

while(drxy.read())

12樓:匿名使用者

x[i]=float.tryparse(drxy[0].tostring());//這樣是實際應用中最有效的辦法 嘗試轉換

13樓:匿名使用者

具體是什麼資料型別 你要看建立這個表的時候 x和y是什麼型別的

c# double型別變數賦值問題

14樓:陽光的雷咩咩

double rateofmargin=+0;幹嘛要加個+號?

在其他if裡面加斷點,也永遠進去不了?

15樓:匿名使用者

double rateofmargin=+0;是什麼意思,在未初始化之前就使用變數估計只能得到錯誤結果,+號應該手誤,去掉+就行了。

16樓:匿名使用者

你的引數是怎麼傳入方法的啊!能不能寫全一點。

c#物件給物件賦值時的問題

17樓:匿名使用者

結構體和類的區別就在這裡,結構體的是值型別,而類是引用型別,所以結構體在用=賦值的時候,不是指標發生變化,而是值的變化,而引用型別的就只是記憶體的指標發生了變化,每一個變數其實都是引用,而不是有具體的值,他們只是指向記憶體中的某個未知。所以,第二題那裡,c2=c1,也就是會所c2指向跟c1一樣,這樣的花,c2發生變化,c1也會跟著變。

18樓:

值型別tt2 = tt1;

tt2是tt1的複製品,和他沒關係。

引用型別ce2 = ce1;

ce2和ce1是一個物件,一個改變另一個也相應改變。

c#中string型別的變數被賦值後其值就不能改變,為什麼在這裡就改變了呢?

19樓:匿名使用者

字串索引從0開始,childstring.substring(2)是從第三個位置開始擷取到最後,有包括第三個位置的。

20樓:匿名使用者

。。。。誰說string賦值後不能改變的?除非你把字串定義為常量,加const

21樓:匿名使用者

childstring.substring(2);從下標為2的位置擷取到最後

22樓:放逐

這也沒有改變啊,原先的物件"ming,jie,zhang,wang,yi"還是這個物件,你調substring這個方法之後,它是另建立了一個物件"ng,jie,zhang,wang,yi",它不會更改之前的那個物件的,懂否

c#中給datetime型別的變數賦值,只賦值時和分怎麼做,而且這時和分還是從其他地方讀過來的。

23樓:悲傷中的悲劇

int space = 0;

datetime date = convert.todatetime("2013-4-26 11:08");

char chardate = date.tostring().tochararray();

for (int i = 0; i < chardate.length-1; i++)

}// 獲取到空格位置 把後面的欄位替換就行

24樓:匿名使用者

不是這麼做 直接讀取資料庫中的datetime 或者讀取 textbox中的datetime 然後轉換成string 型別

在用函式進行擷取後面的小時分鐘就可以了

25樓:ps隨風飄

不能直接給datetime型別直接賦值,應該進行給型別轉換。

例如datetime.parse等。

26樓:匿名使用者

datetime.tostring("mm-dd")

C語言判斷正誤。。賦值的問題,C語言 判斷直接賦值問題

char s 定義一個字元類指標 s olympic s指向的是字串 olympic 裡的第一個字元 o s可理解為字串 第二句若改成指向字元類指標的指標就可以正確賦值了,如下 char s s 這樣的s可理解為指向字串的指標,也可以理解為二維陣列 可以這麼理解第二句 char s 定義一個字元型指...

C資料庫查詢後的值該怎麼賦值給變數

會用ado.net執行這句sql,然後返回資料結果吧?然後因為你的這句sql只有一行一列的值,所以直接返回0行0列,或0行 count 列就好,如下 int count convert.toint32 dataset.tables 0 rows 0 0 tostring 或 int count co...

c語言變數定義的位置問題

以花括號 給包圍起來的 段稱為block 我不知道它的準確中文翻譯是不是叫模組 只要在block開始的地方定義變數就不會錯,且該變數的作用域和生存期 除了static限定 只在該block裡,且該變數可以遮蔽block外的變數。譬如在block外已經有一個變數名為a 1的int變數,在block裡允...