栅栏算法无法输出结果

void show3(string b)
{
string b1 = ""; string b2 = ""; string b3;
for(int i=0;i<b.Length;i++)
{

          if(i%2==0&&i!=b.Length )
          {
              b1 += b[i];
              b2 += b[i + 1];


          }
          if (i == b.Length && i % 2 != 0)
              b1 += b[i];



      }

      b3 = b1 + b1;
      Console.WriteLine("{0}",b3);


     }这是个两排的栅栏算法
            当我输入b=sgasgas的时候,不会输出结果,为什么呢?

https://blog.csdn.net/csalp/article/details/6582414