我用C#编写的一个CS的项目,好像CS项目中不能使用session,下面的一个方法中
switch(Lines[i].State)
{
 case CHANNEL_STATE.CH_FREE: 
  TelNum = GetTelNum(i);
   break;
 case CHANNEL_STATE.CH_RECEIVEID:
  string test;
}
 假如我第一个 case 中调用GetTelNum(i);方法, 返回给TelNum 为15866622222,
那我在第二个 case 中 怎么样能够把 TelNum 的值 传给 test啊??用什么方法啊?

解决方案 »

  1.   


    switch(Lines[i].State)
    {
     case CHANNEL_STATE.CH_FREE: 
      TelNum = GetTelNum(i);
      test = GetTelNum(i);
      break;
     case CHANNEL_STATE.CH_RECEIVEID:
      string test;
    }
      

  2.   

    不再调用GetTelNum(i);方法,是把TelNum 的值 传给 test,有没有其他方法啊,比如把TelNum 的值存在某个地方,然后再在第二个case取出,用什么方法啊
      

  3.   

    switch(Lines[i].State)
    {
    static string TelNum = "";
     case CHANNEL_STATE.CH_FREE:  
      TelNum = GetTelNum(i);
      break;
     case CHANNEL_STATE.CH_RECEIVEID:
      string test = TelNum;
    }
      

  4.   

    首先你的最后一个case语句没有break或return,这样编译不能通过吧。
    case表示多分支的流程,你的Lines[i].State只可能为一个,怎么会两个case分支都执行的?
    根本不可能存在一个分支传递参数到另一个分支的问题。switch(Lines[i].State)
    {
     case CHANNEL_STATE.CH_FREE:  
      TelNum = GetTelNum(i);
      break;
     case CHANNEL_STATE.CH_RECEIVEID:
      string test=GetTelNum(i); break;
    }
      

  5.   

    switch case  不能循环  你在第一个CASE取值怎么可能给第2个CASE用呢
      

  6.   

    switch(Lines[i].State)
    {
      TelNum = GetTelNum(i);
    static string TelNum = "";
     case CHANNEL_STATE.CH_FREE:     break;
     case CHANNEL_STATE.CH_RECEIVEID:
      string test = TelNum;
      break;
    }要让GetTelNum(i);永久执行,就放在外面。