如何将byte []转换为字符串在c# [英] How to convert byte[] to string in c#

查看:130
本文介绍了如何将byte []转换为字符串在c#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为了防止并发性,我已经包含了一个字段版本,它是一个Timestamps类型。我不会没有如何将版本值转换为字符串。请帮助我解决这个问题。

To prevent concurrency i have included a field version which is a Timestamps type. I don't no how to convert version value to string. Please help me to solve this problem.

using (MMP2012Entities context = new MMP2012Entities())
{
    var res = (from i in context.LIN_Laundry_Issues
    join sub in context.LIN_Laundry_Iss_Sub on i.Issue_Number equals sub.Issue_Number
    join it in context.MMP_Items on sub.Item_Id equals it.id
    where i.Issue_Number==id && i.Hospital_Id==hospid && sub.Status_ind==1
    select new Laundry_IssueRecieptList
    {
        Issue_Date = i.Issue_Date,
        Collected_By = i.Collected_By,
        Authorised_By = i.Authorised_By,
        Laundry_Id = i.Laundry_Id,
        Item_Id = sub.Item_Id,
        Item_name = it.Name,
        Qty_Issued = sub.Qty_Issued,
        Rate = sub.Rate,
        Issue_Number=i.Issue_Number,
        subissueid=sub.Laundry_Trans_Sub_Id,
        Status_ind=sub.Status_ind,
        version=sub.Version
    }).ToList();
    return res;
}


推荐答案

您可以使用此功能:

private string ByteArrayToString(byte[] ba)
{
    StringBuilder hex = new StringBuilder(ba.Length * 2);
    foreach (byte b in ba) {
        hex.AppendFormat("{0:x2}", b);
    }

    return hex.ToString();
}

并反转为

private byte[] StringToByteArray(string hexString)
{
    int length = hexString.Length;
    int upperBound = length / 2;
    if (length % 2 == 0) {
        upperBound -= 1;
    } else {
        hexString = "0" + hexString;
    }
    byte[] bytes = new byte[upperBound + 1];
    for (int i = 0; i <= upperBound; i++) {
        bytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
    }

    return bytes;
}

这篇关于如何将byte []转换为字符串在c#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆