C#寫入TXT文檔時 列對齊

 

在使用winform編程中,需要將一些內容寫入TXT文檔,內容包含幾列,大致意思如下所示。

地點                   編號

北京                   1

石家莊              2

上海                   3

烏魯木齊         4

問題是,內容中包含中文、數字、字母等,在寫入文檔時應用下面代碼無法使列對齊。

Writeline(string.format(“{0, -10}{1, -10}”,str1, str2)); 


下面給出一種方法,使寫入文檔的列對齊,主要思想是將要寫入的內容固定長度,長度不足在內容右面補空格。現將需要用到的兩個方法貼在下面。第一個輸出一定長度的空格字符串;第二個方法是,將字符串補爲固定長度。

///<summary>

        ///生成固定長度的空格字符串

        ///</summary>

        ///<paramname="length"></param>

        ///<returns></returns>

        private string SpaceStrFunc(int length)

        {

            string strReturn = string.Empty;

            if (length > 0)

            {

                for (int i = 0; i <length; i++)

                {

                    strReturn += " ";

                }

            }

            return strReturn;

        }

 

 

///<summary>

        ///將字符串生轉化爲固定長度左對齊,右補空格

        ///</summary>

        ///<paramname="strTemp"></param>需要補齊的字符串

        ///<paramname="length"></param>補齊後的長度

        ///<returns></returns>

        private string alignmentStrFunc(string strTemp, int length)

        {

            byte[] byteStr =System.Text.Encoding.Default.GetBytes(strTemp.Trim());

            int iLength =byteStr.Length;

            int iNeed = length -iLength;

 

            byte[] spaceLen = Encoding.Default.GetBytes(" "); //一個空格的長度

            iNeed = iNeed / spaceLen.Length;

 

            string spaceString =SpaceStrFunc(iNeed);

            return strTemp +spaceString;

           

        }

   

最後,將生成固定長度的字符串,寫入文檔即可。

Writeline(string.format(“{0}{1}”,str1, str2));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章