String str=msg;
 while (true)
 { 
    //假设这里有接总是在接收不同的msg
      string s = ConvertString(msg);
     //怎么把s返回出去,而循环又不中断,他们建议我起个线程,可是我不会,能给个简单的例子嘛
  }
private string ConvertString(string str)
{
   //解析这个数据
    return "返回数据";
}
多线程循环

解决方案 »

  1.   

    参照socket通信程序看看吧  它是把接受到的数据更新到UI线程中去的
      

  2.   

    你可以在While循环中创建一个新线程,具体代码如下:While(true)
    {
     string s = ConvertString(msg);
     Thread backthread = new Thread(new ParameterizedThreadStart(Worker));        
                // 通过Start方法启动线程
                backthread.Start(s);
    }
    private static void Worker(object data)
            {
               
                // 下面语句,只有由一个前台线程执行时,才会显示出来
                Console.WriteLine(data);
            }不过这里会造成你创建多个线程,你可以使用线程池线程去代替,使用QueueUserWorkItem 方法把一个工作项交给线程池线程去执行的,具体可以参考我多线程的文章:http://www.cnblogs.com/zhili/archive/2012/07/18/ThreadPool.html
      

  3.   

    在while外面定义个变量,循环里赋值s,不就把s传出去了吗