C#-使用迭代器实现倒序遍历

    xiaoxiao2023-11-24  172

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;

    namespace ReverseOrder {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }

            /// <summary>         /// 通过迭代器实现字符串的倒序         /// </summary>         /// <param string="n">进行倒序的字符串</param>         /// <returns>以对象的方式倒序返回单个字符</returns>         public static IEnumerable<object> Transpose(string n)         {             if (n.Length >0)//如果泛型不为空             {                 for (int i = n.Length-1; i >= 0; i--)//从末尾开始遍历字符串                     yield return (object)n[i];//返回数据集合             }         }

            /// <summary>         /// 获取倒序后的字符串         /// </summary>         /// <param string="Str">进行倒序的字符串</param>         /// <returns>返回倒序后的字符串</returns>         public string GetValue(string Str)         {             if (Str.Length == 0)//判断字符串长度是否为0                 return "";//返回空             string Tem_Str = "";//记录倒序之后的字符串             foreach (object i in Transpose(Str))//遍历迭代器                 Tem_Str += i.ToString();//获取迭代器中的每个字符             return Tem_Str;//返回倒序之后的字符串         }

            private void button1_Click(object sender, EventArgs e)         {             textBox2.Clear();             textBox2.Text = GetValue(textBox1.Text);         }     } }  

    最新回复(0)