我坚持将歌曲细节转换成字符串

时间:2016-06-02 10:12:44

标签: c# string struct textbox attributes

我写下面的代码:
(歌是结构)

private void get_attribute(string file)
    {
        byte[] b = new byte[128];
        FileStream fs = new FileStream(file, FileMode.Open);
        fs.Seek(-128, SeekOrigin.End);
        fs.Read(b, 0, 128);
        Song song = new Song();
        song.Singer= Encoding.Default.GetString(b, 33, 30);
        song.Album= Encoding.Default.GetString(b, 63, 30);
        song.Title= Encoding.Default.GetString(b, 3, 30);
        string a = song.Singer + song.Album + song.Title;
        textBox1.AppendText(a);
    }

但这只会在文本框中显示歌手 我想在文本框中输入下面的文字:
歌手:...专辑:...标题:...
 enter image description here 上图是变量手表的截图 我也无法删除' \ 0'来自字符串使用" trunc"方法

1 个答案:

答案 0 :(得分:1)

您必须修剪字符串中的终止字符:

    string album = "Saz Single\0\0\0\0\0\0\0\0\0";
    string singer = "Bahram\0\0\0\0\0\0\0";
    string title = "saz\0\0\0";

    album = album.Trim('\0');
    singer = singer.Trim('\0');
    title = title.Trim('\0');

    string a = album + " " + singer + " " + title;

理想情况下,您可以将该功能放在Song类的方法中!或者甚至更好地覆盖Song类的ToString()方法以返回您需要的内容。