 |
|
โปรแกรมขึ้น Error คือ index was outside the bounds of the array ทั้งๆที่ เป็น syntex แบบไม่ซ้ำซ้อนเลย ลองดู code |
|
 |
|
|
 |
 |
|
โหลด TeamViewer มาลงครับ
แล้ว PM ID+PASS มาจะช่วยดูให้ ว่างๆนอนไม่หลับ 
ภายใน 00:45 น. นะครับ ไม่งั้นจะไปตีดอทละ
--- UPDATE ---
00.45 ละครับ สงสัยจะกลัว พอให้หา TeamViewer มาลง
Offline ไปเลย ไม่เป็นไรครับเข้าใจ 
|
ประวัติการแก้ไข 2013-08-19 00:46:28
 |
 |
 |
 |
Date :
2013-08-19 00:33:47 |
By :
คนงานตัดอ้อย |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
index was outside the bounds of the array
Error นี้ ส่วนใหญ่มาจาก การอ้างอิงตำแหน่ง Index ในตัวแปร Array ที่ตำแหน่งนั้นไม่มีอยู่ มันจึงเกิด Error นี้ครับ
เท่าที่ดู ๆ ในโค้ดก็ไม่มีอะไรน่าจะทำให้เกิด Error นี้ได้นะครับ งงเหมือนกัน
รอผู้รู้ท่านอื่นมาตอบครับ 
|
 |
 |
 |
 |
Date :
2013-08-19 08:29:10 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มาอัพเดท...ครับ วันนี้...ผมลองรันงานที่ทำงาน winXP32bit, VS2010 ปรากฏว่าปกติ ไม่ขึ้น index was outside the bounds of the array
แต่เนื่องจากเมื่อคืนผมไปลองรันที่บ้าน win8 64bit, VS2010 ขึ้นอย่างเดียวเลย
เดี๋ยวจะลองไปรันที่บ้านอีกที....
แต่ตอนนี้...รันปกติแล้ว...
ใครมี fn array เกี่ยวกับการหาค่าซ้ำกับมั้ย เช่น ผม query จากฐานข้อมูลเป็นตัวเลข 0,1,0,1 แล้วมาเก็บใน array แล้วจะเช็คค่าว่าซ้ำมั้ย เช่น 1,1,1,1 ซ้ำ ประมาณนี้
หรือแนวภาษาซีก็ได้
....ขอบคุณล่วงหน้าครับ....
|
 |
 |
 |
 |
Date :
2013-08-19 09:15:37 |
By :
Takashi_7 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
กรณีนี้ ผมแนะนำให้ใช้พวก List จะดีกว่านะครับ
เนื่องจากว่ามันจะยืดหยุ่นได้ดีกว่าที่เราใช้ Array และไม่ต้องกำหนดขนาดด้วยครับ
Code (C#)
List<int> numbers = new List<int>();
numbers.add(10); // index 0, value = 10;
numbers.add(20); // index 1, value = 20;
numbers.add(30); // index 2, value = 30;
//Print
MessageBox.Show(number[0].ToString());
MessageBox.Show(number[1].ToString());
MessageBox.Show(number[2].ToString());
|
 |
 |
 |
 |
Date :
2013-08-19 10:26:03 |
By :
batiboy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
var duplicates = n.GroupBy(k => k).Where(g => g.Count() > 1).Select(g => g.Key); <===== Error บรรทัดนี้ ผมไม่เข้าใจว่า LINQ วนลูป for ยังไง ที่ผมลองใส่คือ n.GroupBy หรือ num[j].GroupBy Error ทั้งคู่
Code (C#)
int[] num = new int[dt.Rows.Count];
int i, j;
string result = "";
for (i = 0; i < dt.Rows.Count; i++)
{
int valRepeat = Int32.Parse(dt.Rows[i]["repdur_status"].ToString()); //query จากฐาน
num[i] = valRepeat; //เก็บไว้ Array
}
for (j = 0; j < dt.Rows.Count; j++)
{
//MessageBox.Show("รอบที่:J=" + (j) + "=>" + num[j].ToString());
//result += "num[" + j + "]= " + num[j] + "\n";
int n = 0;
n += num[j];
MessageBox.Show(n.ToString()); //ผล คือ 0 และ 1
var duplicates = n.GroupBy(k => k).Where(g => g.Count() > 1).Select(g => g.Key); <===== Error บรรทัดนี้ ผมไม่เข้าใจว่า LINQ วนลูป for ยังไง ที่ผมลองใส่คือ n.GroupBy หรือ num[j].GroupBy Error ทั้งคู่
foreach (var d in duplicates)
MessageBox.Show(d.ToString());
}
|
ประวัติการแก้ไข 2013-08-19 16:51:11
 |
 |
 |
 |
Date :
2013-08-19 16:47:11 |
By :
Takashi_7 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (C#)
var dupCount = from d in dt.AsEnumerable()
group d by d.Field<int>("repdur_status") into g
select new
{
Key = g.Key,
Count = g.Count()
};
|
 |
 |
 |
 |
Date :
2013-08-21 14:21:36 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|