将字符串转换为十六进制

时间:2015-06-24 19:05:37

标签: c# xamarin

我想将字符串转换为十六进制代码。我正在使用  xamarin。我得到的唯一输出是{0:X}

string a = "msg";    
char[] val = a.ToCharArray();

foreach (char c in val)    
{    
    int b = Convert.ToInt32(val);    
    string z = Java.Lang.String.Format("{0:X}",b);    
    outEditText.Text = z;    
}

2 个答案:

答案 0 :(得分:1)

这是使用linq的单行解决方案:

var msg = "msg";
msg.Select(i => ((int)i).ToString("X")).ToList().ForEach(Console.WriteLine);

答案 1 :(得分:0)

这应该对你有用。 您不需要转换为字符数组,而您使用的是错误的字符串格式化程序。

string a = "msg";  

foreach (char c in a)    
{       
    int val = Convert.ToInt32(c);
    string z = String.Format("{0:X}",val); 
    Console.WriteLine(z);  
}