C 為字串陣列動態賦值的問題

2022-01-13 09:53:24 字數 992 閱讀 6563

今天才發現乙個很簡單很基本的問題,就是怎麼也不能正確。

方法1: string a; a[0] = "we";messagebox.show(a[0]); //使用了未賦值的區域性變數a

方法2: string a = new string ; a[0] = "we"; messagebox.show(a[0]); //可以編譯通過.....

解決方案:

改用list吧!

方法一是沒有new(沒有分配空間)。

方法二是在new的時候沒有指定大小,預設是0個元素,所以對其任意乙個元素賦值都是越界。

在c#中,陣列一般用來存放大小確定的資料。

如果陣列大小未知,建議使用list<>.

lista=new list();

a.add("we");

messagebox.show(a[0]);

同時,你可以用a.toarray()來隨時轉換成string。

也可以listb=new list(a.toarray());

將陣列資料初始化進list<>。

物件是需要new的,如果不new,就不知道陣列的長度。

如果本身是不定長的陣列,可以用list等資料結構來儲存。

string a = new string ;

a[0] = "we";

你可以在方法2中宣告了a陣列後,a.lengh看看a有幾個元素。

另外,b = a.split('|');

是對b重新賦值了,也就等於重新new了乙個陣列。

c語言字串,字串陣列的賦值使用問題

用來存放字元的陣列稱為字元陣列,例如 char a 10 一維字元陣列 char b 5 10 二維字元陣列 char c 20 給部分陣列元素賦值 char d 對全體元素賦值時可以省去長度 以下均等效 const u8 text buffer const char text buffer1 co...

字串字元陣列的賦值

字元陣列的定義與初始化 char str 10 如果說提供的字元的個數大於陣列的長度,就按語法錯誤處理,如果小於陣列的長度,不夠的位置用空字元補全 0 字元陣列與字串 1 c 語言中將字串當做字元陣列來處理 字串的結束標誌是 0 而前面的所有字元組成字串,不算 0 2 對於字串常量的話,系統會自動在...

android 陣列賦值字串 c 陣列使用

前言 陣列是我們儲存資料最常用的資料結構,如通訊中傳送和接收大量16進製制資料 儲存需要處理的時序資料等。陣列的型別是多種多樣的,如16進製制型別,int型別,float或double型別 按照資料最大值範圍還可加字首short和long 字串型別。陣列也需要初始化為零或者其他,否則演算法可能出錯。...