🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.lang.csharp
4 messages
4 total messages Started by mk Tue, 22 Feb 2011 12:35
foreach - kolejność elementów
#22101
Author: mk
Date: Tue, 22 Feb 2011 12:35
30 lines
1889 bytes
Witam,

Mam zapewne proste dla Was pytanie: Czy można określić w jakiej 
kolejności będą iterowane elementy tablicy w pętli foreach? Z tego co 
znalałem w necie wygląda na to że zależy to od iteratora ale ja nie wiem 
jak został zaimplementowany iterator w typie string[].
Może przy okazji podam kawałek kodu, w którym kluczowa jest dla mnie 
kolejność iteracji:

string[] FileElements = FileContent.Split(' ');

foreach (string element in FileElements.Where(x => x.Trim().Length > 0))
{
	//Do something with element
}

Czy w powyższym przykładzie mam pewność, że elementy tablicy 
FileElements będą obsługiwane w takiej samej kolejności jak w poniższym 
przykładzie:

for(int i = 0 ; i < FileElements.Length ; i++)
{
	if(FileElements[i].Trim().Length == 0)
	continue;

	//Do something with FileElements[i]
}

Pozdrawiam
Mariusz
Re: foreach - kolejność elementów
#22102
Author: Łukasz 'Maly' Ostrowski
Date: Tue, 22 Feb 2011 14:18
23 lines
1541 bytes
On Tue, 22 Feb 2011 13:35:30 +0100, mk wrote:
> <snip>
> string[] FileElements = FileContent.Split(' ');
> 
> foreach (string element in FileElements.Where(x => x.Trim().Length > 0))
> {
> 	//Do something with element
> }
> 
> Czy w powyższym przykładzie mam pewność, że elementy tablicy 
> FileElements będą obsługiwane w takiej samej kolejności jak w poniższym 
> przykładzie:
> 
> <snip>

Tak. Enumerator Array'a iteruje w kolejności elementów arraya
od pierwszego w górę, Iterator z Where() na 
T[](WhereArrayIterator<T>) też nie zmienia kolejności elementów
iterowanego arraya.

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.eu/
Re: foreach - kolejność elementów
#22103
Author: 3P
Date: Tue, 22 Feb 2011 18:01
11 lines
1198 bytes
>
> Tak. Enumerator Array'a iteruje w kolejności elementów arraya
> od pierwszego w górę, Iterator z Where() na
> T[](WhereArrayIterator<T>) też nie zmienia kolejności elementów
> iterowanego arraya.
>

Ale czy jest to zagwarantowane do końca świata?

-- 
3P
Re: foreach - kolejność elementów
#22104
Author: Łukasz 'Maly' Ostrowski
Date: Tue, 22 Feb 2011 21:31
9 lines
1148 bytes
On Tue, 22 Feb 2011 19:01:17 +0100, 3P wrote:
> Ale czy jest to zagwarantowane do końca świata?

Poczekamy, zobaczymy. Nie chce mi się szukać 
paragrafów w ECMA. ;-)

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.eu/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads