System. IndexOutOfRangeException: 'Az index a tömb határain kívülre mutatott. 'Miért írja ki ezt?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Microsoft.VisualBasic;
namespace szinkep
{
public partial class Form1 : Form
{
struct szin
{
public int r;
public int g;
public int b;
}
szin[,] szinkep = new szin[50,50];
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
FileStream fajl1 = new FileStream("kep.txt", FileMode.Open);
StreamReader olvaso1 = new StreamReader(fajl1);
int i = 0;
while (!olvaso1.EndOfStream)
{
string[] egysor = olvaso1.ReadLine().Split(' ');
for (int j = 0; j <=50; j++)
{
szinkep[i,j].r = Int32.Parse(egysor[0]);
szinkep[i, j].g = Int32.Parse(egysor[1]);
szinkep[i, j].b = Int32.Parse(egysor[2]);
i++;
}
}
olvaso1.Close();
fajl1.Close();
}
Ha valaki segítene azt nagyon megköszönném. :)
A szinkep tömb 50*50 elemű, a belső iterációban meg 51 elemen (0...50 inkluzív) mennél végig.
Szóval helyesen:
for (int j = 0; j < 50; j++)
Másrészt az i változó növelését kivenném a belső iteráció magjából.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!