【问题标题】:Converting a byte array to "ToString()" [closed]将字节数组转换为“ToString()”[关闭]
【发布时间】:2015-05-01 19:38:30
【问题描述】:

我正在尝试将类型数组转换为字符串。我已经完成了我的研究,但似乎没有什么对我有用。这是我的代码,

 if (row.Table.Columns.Contains("DataRow") && !Convert.IsDBNull(row["DataRow"]))
        {
            byte[] rowData;

            if(Byte.TryParse(row["DataRow"].ToString(), out rowData)
            {
                dbModel.DataRow= rowData;
            }
            else
            {
                return null;
            }

我正在尝试初始化数组并将其分配给“主机”,并在整个 if 语句中保存该值。 DataRow 包含 varBinary(128),第二个 if 语句中的参数给出一个错误,内容为“'byte.TryParse(string, out byte)' 的最佳重载方法匹配有一些无效参数

【问题讨论】:

  • 行["DataRow"] 中有什么? 似乎没有任何效果 是什么意思?它编译吗?它会抛出异常吗?它会输出错误的值吗?
  • 字节数组 .ToString() 会是什么样子?您可以将其转换为 Base64 字符串并发送,然后将其转换回另一端的字节数组,这可能是最好的选择。
  • Byte.TryParse() 只会解析一个字节。正如 rene 所说,我们需要 DataRow 的格式。
  • 对不起,我会更具体地进行编辑。 DataRow 包含 varBinary(128),第二个 if 语句中的参数给出一个错误,内容为“'byte.TryParse(string, out byte)' 的最佳重载方法匹配有一些无效参数”@rene

标签: c# asp.net arrays


【解决方案1】:

如果你真的在读取一个数组,试试这个:

if (row["DataRow"] != DBNull.Value)
{
    byte[] data = (byte[])row["DataRow"];
}

如果它以字节数组的形式从提供者返回,则将其从 object 更改回字节数组。

【讨论】:

  • 效果很好.. 谢谢!
猜你喜欢
  • 2018-05-27
  • 1970-01-01
  • 2023-04-02
  • 2017-03-13
  • 2012-02-15
  • 1970-01-01
  • 2013-08-23
  • 1970-01-01
  • 2022-01-25
相关资源
最近更新 更多