New Yield Concept

private void YieldEx()
{
            string goodTestData = "1 2 3 4 5 6 7";

            foreach (int listItem in GetIntCollectionFromString(goodTestData))
                MessageBox.Show(listItem.ToString());

            string badTestData = "1 2 3 afdf 4 5 6";

            foreach (int listItem in GetIntCollectionFromString(badTestData))
                MessageBox.Show(listItem.ToString());
}

public IEnumerable<int> GetIntCollectionFromString(string stringToScan)
{
            //Console.WriteLine("Preparing to scan string");

            string[] tokens = stringToScan.Split(' ');
            int intToAdd;

            foreach (string token in tokens)
            {
                if (int.TryParse(token, out intToAdd))
                {
                    yield return intToAdd;
                }
                else
                {
                    yield break;
                }
            }
 }