---
title: "Index was outside the bounds of the array .NET C#"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/113026-index-was-outside-the-bounds-of-the-array-net-c"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "T_Codez"
published: "2004-10-06T12:17:04.000Z"
updated: "2004-10-08T08:34:09.000Z"
replies: 5
views: 376
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/113026-index-was-outside-the-bounds-of-the-array-net-c"
---

# Index was outside the bounds of the array .NET C#

## #1 — T_Codez, 2004-10-06T12:17Z

Hej hej

Jag höll tidigare på att greja med att splitta en sträng där punkt och komma förekom. Lite förhistoria till det hittar du här: <http://www.webforum.nu/showthread.php?s=&threadid=110452&forumid=29>

Och här kommer själva fortsättningen...

Efter den lösningshjälpen så fick jag felmeddelande:

```
Index was outside the bounds of the array
```

Jag har letat runt på nätet, men änuu inte hittat något om det som jag kan identifiera mig med. Det förekommer ofta i olika tappningar tyvärr. Är detta något som ni råkat ut för tidigare, så 

tar jag tacksamt emot info om det isf.?

Tack för uppmärksamheten

Mvh
/T

Permalänk: https://www.webforum.nu/p/113026

## #2 — Phorpher, 2004-10-06T12:29Z

Du försöker komma åt ett fält i arrayen som inte existerar. Du specificerar antingen ett för stort (större än antalet element i arrayen) eller för litet (minustal) index.

Permalänk: https://www.webforum.nu/p/1453011

## #3 — Mc Fetto, 2004-10-06T22:21Z

Visa kodenraden(erna) som skapar felmeddelandet!

Permalänk: https://www.webforum.nu/p/1453372

## #4 — T_Codez, 2004-10-08T06:35Z

Koden som det berör är:

```
// Läs ut data från arrayListen och presentera i GUI (listViewn)
					
char[] ch = new char[3];
ch[0] = '.';
ch[1] = ',';
ch[2] = ' ';
string[] str;
// kör en try / catch här kanske... om error then ta hela strängen
foreach(Person person in personList)
{
	str = person.Fornamn.Split(ch);
	ListViewItem lvi = new ListViewItem(str[0]); //Substring split fram till punkt och/eller komma.
	lvi.SubItems.Add(str[1]);		     //Substring split efter punkt och/eller komma.
	lvi.SubItems.Add(person.Efternamn);
	listView1.Items.Add(lvi);
}
```

(Som jag fick hjälp av dig/er med tidigare.) :h 

Nu har jag provat lite try/catch på den här rackaren och kommit underfund om att det finns strängar som inte har någon separering med en punkt/komma eller blank. utan bara är en enkel sträng.

Och då har jag lite funderingar på om det finns något sätt att kringå detta på. Typ:

IF (det kajkar ur) 
{  
ta hela strängen. 
}

Eller om man kan använda IndexOfAny metoden på någe vis...

Men hur det skulle se ur kodmässigt är jag lite osäker på. :l

Permalänk: https://www.webforum.nu/p/1456773

## #5 — Mc Fetto, 2004-10-08T08:00Z

Du kan ju kolla hur många index det fins i strängvektorn och utifrån det göra olika saker.

```
if (str.Length != 1)
	//gör det du gjort tidigare
else
    //gör något annat
```

Permalänk: https://www.webforum.nu/p/1456833

## #6 — T_Codez, 2004-10-08T08:34Z

Ja, det blev något liknande som du föreslog...

Jag lyckades knåpa ihop lite till slut iaf. Jag använde mig av "IndexOfAny" metoden
som var klockren i sin funktion. Så lösningen som fick det att funka för mig ser ut så här:

(variabeln svar deklarerad som string & pos deklarerad som integer i Form1)

```
char[] ch = new char[3];
ch[0] = '.';
ch[1] = ',';
ch[2] = ' ';

string[] str;

foreach(Person person in personList)
{
	svar = person.Fornamn;

	char[] testchar = {'.', ',', ' '};			//Se om hämtad sträng innehåller efterfrågade tecken
	pos = svar.IndexOfAny(testchar);			//tilldela värdet till variabeln pos som testchar levererar

	if (pos > -1)						/*Se om pos har större värde än -1 (-1 för att en array börjar på 0) om det är sant
								  Kör igenom strängen för splittning */
	{
		str = person.Fornamn.Split(ch);			//Splitta strängen om något av tecknen förekommer
		ListViewItem lvi = new ListViewItem(str[0]);  	//Substring splitta fram till punkt och/eller komma.
		lvi.SubItems.Add(str[1]);		      	//Substring split efter punkt och/eller komma.
		lvi.SubItems.Add(person.Efternamn);
		listView1.Items.Add(lvi);
	}
	else							//Om Pos värdet är -1, gör ingen splitt på strängen

	{
		ListViewItem lvi = new ListViewItem(person.Fornamn);
		lvi.SubItems.Add(person.Fornamn);
		lvi.SubItems.Add(person.Efternamn);
		listView1.Items.Add(lvi);
	}
}
```

Thankz! :birp

Permalänk: https://www.webforum.nu/p/1456851

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/113026-index-was-outside-the-bounds-of-the-array-net-c
