欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#获取字符串宽度的示例代码(字节数方法)

程序员文章站 2024-02-14 23:55:28
复制代码 代码如下:/**////  ///   ///  ///  ///  ///  privat...

复制代码 代码如下:

/**////  ///   ///  ///  ///  /// 
private arraylist getseparatesubstring(string morigianlstring, int substringcharnumber)

 arraylist resultlist = new arraylist();

 string tempstr = morigianlstring;

 int charnumber = substringcharnumber;

 int totalcount = 0;
 string msubstr = "";
  for (int i = 0; i < tempstr.length; i++)
 {
  string mchar = tempstr.substring(i, 1);
   int bytecount = encoding.default.getbytecount(mchar);
   if (bytecount == 1) 
   { 
    totalcount++;
   msubstr += mchar;
    if (totalcount == charnumber || i == tempstr.length - 1)
    {
     resultlist.add(msubstr);
     totalcount = 0;
     msubstr = "";
    } 
   } 
   else if (bytecount > 1) 
   {  
    totalcount += 2;
    if (totalcount > charnumber ) 
    { 
     resultlist.add(msubstr);
     if (i == tempstr.length - 1) 
     {
      msubstr = mchar;
      resultlist.add(msubstr);
     }
     else
     {
      totalcount = 2;
      msubstr = mchar;
     } 
    } 
    else if (totalcount == charnumber) 
    {
     msubstr += mchar;
     resultlist.add(msubstr);
     totalcount = 0;
     msubstr = "";
    }
    else if (i == tempstr.length - 1)
    { 
     msubstr += mchar;
     resultlist.add(msubstr);
    }
    else 
    { 
     msubstr += mchar;
    } 
   } 
  } 
  return resultlist;
}