Click here to Skip to main content
15,905,068 members
Home / Discussions / C#
   

C#

 
QuestionSending a command to an IEnumerable method Pin
Lutosław23-Oct-09 9:13
Lutosław23-Oct-09 9:13 
AnswerRe: Sending a command to an IEnumerable method Pin
Ian Shlasko23-Oct-09 9:55
Ian Shlasko23-Oct-09 9:55 
Ok, my brain is kind of winding down, it being Friday and all, so I can't quite wrap it around your algorithm right now... But for skipping entries in the enumeration itself...

Basically, foreach is a shortcut for a more wordy but not very complicated code block:
IEnumerator<int[]> en = GetPermutations().GetEnumerator()
while (en.MoveNext())
{
  int[] permutation = en.Current;

  // Your code
}

If you write this out yourself, you have a reference to the enumerator, so you can do this:
public bool SkipPermutations(IEnumerator en, int count)
{
  for(;count > 0; count--)  // Note the initial semicolon - Don't need to initialize
    if (!en.MoveNext()) return false;

  return true;
}

Then you can just put this in the middle of your foreach:
if (!SkipPermutations(en, 4)) break;

The trick, of course, is that if you skip past the end of the enumeration, you'll get an exception... So you have to keep checking to see if you're at the end.

Proud to have finally moved to the A-Ark. Which one are you in?
Developer, Author (Guardians of Xen)

GeneralRe: Sending a command to an IEnumerable method Pin
Lutosław23-Oct-09 10:27
Lutosław23-Oct-09 10:27 
GeneralRe: Sending a command to an IEnumerable method Pin
Ian Shlasko23-Oct-09 10:38
Ian Shlasko23-Oct-09 10:38 
GeneralRe: Sending a command to an IEnumerable method Pin
Lutosław24-Oct-09 1:01
Lutosław24-Oct-09 1:01 
AnswerRe: Sending a command to an IEnumerable method [modified] Pin
harold aptroot23-Oct-09 10:08
harold aptroot23-Oct-09 10:08 
GeneralRe: Sending a command to an IEnumerable method Pin
Ian Shlasko23-Oct-09 10:33
Ian Shlasko23-Oct-09 10:33 
GeneralRe: Sending a command to an IEnumerable method Pin
harold aptroot23-Oct-09 10:35
harold aptroot23-Oct-09 10:35 
GeneralRe: Sending a command to an IEnumerable method Pin
Ian Shlasko23-Oct-09 10:50
Ian Shlasko23-Oct-09 10:50 
GeneralRe: Sending a command to an IEnumerable method Pin
harold aptroot23-Oct-09 10:55
harold aptroot23-Oct-09 10:55 
GeneralRe: Sending a command to an IEnumerable method Pin
Ian Shlasko23-Oct-09 11:13
Ian Shlasko23-Oct-09 11:13 
GeneralRe: Sending a command to an IEnumerable method Pin
harold aptroot23-Oct-09 11:19
harold aptroot23-Oct-09 11:19 
GeneralRe: Sending a command to an IEnumerable method Pin
Ian Shlasko23-Oct-09 12:12
Ian Shlasko23-Oct-09 12:12 
GeneralRe: Sending a command to an IEnumerable method Pin
harold aptroot23-Oct-09 12:23
harold aptroot23-Oct-09 12:23 
GeneralRe: Sending a command to an IEnumerable method Pin
Ian Shlasko23-Oct-09 12:27
Ian Shlasko23-Oct-09 12:27 
GeneralRe: Sending a command to an IEnumerable method Pin
Lutosław23-Oct-09 23:55
Lutosław23-Oct-09 23:55 
GeneralRe: Sending a command to an IEnumerable method Pin
Lutosław24-Oct-09 1:18
Lutosław24-Oct-09 1:18 
GeneralRe: Sending a command to an IEnumerable method Pin
Lutosław24-Oct-09 1:04
Lutosław24-Oct-09 1:04 
Answer[SOLVED] Sending a command to an IEnumerable method Pin
Lutosław23-Oct-09 23:51
Lutosław23-Oct-09 23:51 
GeneralRe: [SOLVED] Sending a command to an IEnumerable method Pin
harold aptroot24-Oct-09 1:22
harold aptroot24-Oct-09 1:22 
QuestionWhere to write application files on Vista/W7 Pin
BRShroyer23-Oct-09 8:05
BRShroyer23-Oct-09 8:05 
AnswerRe: Where to write application files on Vista/W7 Pin
Ian Shlasko23-Oct-09 8:13
Ian Shlasko23-Oct-09 8:13 
GeneralRe: Where to write application files on Vista/W7 Pin
BRShroyer23-Oct-09 8:19
BRShroyer23-Oct-09 8:19 
GeneralRe: Where to write application files on Vista/W7 Pin
Ian Shlasko23-Oct-09 8:46
Ian Shlasko23-Oct-09 8:46 
QuestionHow to control speakers individually? Pin
Gedon_Sarep23-Oct-09 8:03
Gedon_Sarep23-Oct-09 8:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.