gpt4 book ai didi

c# - 在 C# 中获取文件大小为十六进制

转载 作者:搜寻专家 更新时间:2023-10-31 01:07:14 25 4
gpt4 key购买 nike

我正在尝试将文件大小从文件转换为十六进制代码,但它给了我一个错误。

我目前的代码:

     public static string DecToHex(int decValue)
{
return string.Format("{0:x}", decValue);
}

private void button1_Click(object sender, EventArgs e)
{
DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\Admin\Desktop\10 23\files");
FileInfo[] Files = dinfo.GetFiles("*.xml");
foreach (FileInfo file in Files)
{
listBox1.Items.Add(file.Name);
}
}

private void button2_Click(object sender, EventArgs e)
{
DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\Admin\Desktop\10 23\files");
FileInfo[] Files = dinfo.GetFiles("*.xml");
foreach (FileInfo file in Files)
{
listBox2.Items.Add(DecToHex(file.Length));
}
}

错误是“.. 无法从‘long’转换为‘int’。也许有人知道将文件大小显示为十六进制的更好方法。

我在 C++ 中有这段代码

if(m_bAlgorithm[HASHID_SIZE_32])
{
sizehash32_end(&m_uSizeHash32);
printf(SZ_SIZEHASH_32);
printf(SZ_HASHPRE);

printf("%08X", m_uSizeHash32);

printf(CPS_NEWLINE);
}

最佳答案

为什么不更改 DecToHex 方法来接受 long。

FileInfo.Length 返回一个 long,您可以使用 long 作为 string.Format 的参数。

public static string DecToHex(long decValue)
{
return string.Format("{0:x}", decValue);
}

关于c# - 在 C# 中获取文件大小为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19605299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com