在一个类的方法里面,我定义了一个常量字符串,赋值很长,接着定义一个变量字符串,把常量字符串赋值给变量字符串,结果老是报错.不信各位可以尝试一下,字符串长度最好大于2000字符啊,不知道有没有其它人遇到类似问题,是怎么解决的.

解决方案 »

  1.   

    public string GetString(index)
    {
      string RetString="";
      swith(index)
      {
         case 1: //--下面这个常量字符串长度超过2000,中间...表明还有很多字符串
         const string TestString=@"
            aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
            bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
            cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 
            ....  
            zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
         ";
         break;
      }
      return RetString;
    }
      

  2.   

    测试常量2044个字符,我机器(1.6*2,1G)上没有报错
            private void button1_Click(object sender, EventArgs e)
            {
                const string S = @"
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    01234567890123456789012345678901234567890123456789
    ";
                textBox1.Text = S; //S.Length = 2044
            }
      

  3.   

    string的最大长度应该是Int32.MaxValue吧~~~~~
      

  4.   

    写错了
    public string  string   GetString(index) 

        string   RetString=""; 
        swith(index) 
        { 
              case   1:   //--下面这个常量字符串长度超过2000,中间...表明还有很多字符串 
              const   string   TestString=@" 
                    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
                    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 
                    cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc   
                    ....     
                    zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 
              "; 
             RetString= TestString;
              break; 
        } 
        return   RetString; 
    }
      

  5.   

    写错了,纠正一下:
    public static  string   GetString(index) 

        string   RetString=""; 
        swith(index) 
        { 
              case   1:   //--下面这个常量字符串长度超过2000,中间...表明还有很多字符串 
              const   string   TestString=@" 
                    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
                    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 
                    cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc   
                    ....     
                    zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 
              "; 
              RetString= TestString;
              break; 
        } 
        return   RetString; 
    }
      

  6.   

    如果这个是个bug,我想必定是一个经典的bug了,^_^,也只有我才能遇到这个问题了
      

  7.   

    不知道楼主是什么错误但是楼主贴出来的代码 方法的形参 index 是没有类型的你编译都不会通过
      

  8.   


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace WindowsApplication3
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        public static string GetString(int index)
            {
                string RetString = "";
                switch (index)
                {
                    case 1:       //--下面这个常量字符串长度超过2000,中间...表明还有很多字符串   
                        const string TestString = @"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
                        RetString = TestString;
                        break;
                }
                return RetString;
            }        private void Form1_Load(object sender, EventArgs e)
            {
                MessageBox.Show(GetString(1));
            }
        }
    }
    以上代码可以执行成功 那个常量字串长是26*100=2600
      

  9.   

    绝对不可能是bug,楼主再好好看看
      

  10.   

    错误 1 Unexpected error writing debug information to file 'D:\TestDir\vsProjects\ConvertManagedType\obj\Debug\ConvertManagedType.PDB' -- '未指定的错误 ' ConvertManagedType
    发生的错误就是这个
      

  11.   

    这是哪门子的Bug?case 1://--下面这个常量字符串长度超过2000,中间...表明还有很多字符串
      const string TestString=@"
    LZ你这是C++还是C#啊?!
      

  12.   

    在VS2003,XP下运行成功,再多一个字符就会出错,多两个以上字符系统直接杀死了我的进程..
    public static string GetString(int index)
            {
                string RetString = "";
                switch (index)
                {
                    case 1:       //--下面这个常量字符串长度超过2000,中间...表明还有很多字符串   
                        const string TestString = @"abcdjpqrswxyxyzab"+
      "cdhsbiajklmnopqstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvw"+
      "xyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst"+
      "uvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopq"+
      "rstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn"+
      "opqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm"+
      "nopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk"+
      "lmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghi"+
      "jklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh"+
      "ijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh"+
      "ijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh"+
      "ijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghi"+
      "jklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl"+
      "mnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopq"+
      "rstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst"+
      "uvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstu"+
      "vwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuv"+
      "wxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvw"+
      "xyzabcdefghijklmnopqrstuvwxyzabcdefghijkmnopqrstuvwxyzabcdefghijklmnopqrstuvwxy"+
      "zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"+
      "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab"+
      "cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd"+
      "efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdeef"+
      "ghijklmnopqrstuvwxyzabcdefghijklmnoprstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghi"+
      "jklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdzabcdefgh"+
      "ijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl"+
      "ijklmnoabcmnopqrstuvwxyz1234567abcdefghijklmnoprstuvwxyz";
                        RetString = TestString;
                        break;
                }
                return RetString;
            } private void Form1_Load(object sender, System.EventArgs e)
    {
    //MessageBox.Show(GetString(1).Length.ToString());
    this.richTextBox1.Text=GetString(1).ToString(); }
    }
    }