我试图在C#中读取二进制文件,但我遇到了问题.我宣布了以下内容:
public static readonly UInt32 NUMBER = 0XCAFEBABE;
Run Code Online (Sandbox Code Playgroud)
然后在从文件的最开头读取时我要求读取前4个字节(已尝试过不同的方法,但这是最简单的):
UInt32 num = in_.ReadUInt32(); // in_ is a BinaryReader
Run Code Online (Sandbox Code Playgroud)
虽然我有4个字节是CA,FE,BA和BE(十六进制),同时将它们转换为UInt我得到不同的值.NUMBER是3405691582,num是3199925962.我也试过这样做:
byte[] f2 = {0xCA, 0xFE, 0xBA, 0xBE};
Run Code Online (Sandbox Code Playgroud)
这样做的结果BitConverter.ToUInt32(new byte[]{0xCA, 0xFE, 0xBA, 0xBE},0)是3199925962.
谁能帮我?
谢谢
在我的应用程序中,连接到MS Sql数据库,我正在使用Microsoft.Data.ConnectionUI
和我的应用程序在我的计算机上工作.如果我在另一台计算机上运行此应用程序,当我打开连接对话框时,我看到该错误:

这是我的代码:
try
{
connectionString = ShowDialogConnection();
SqlConnection connect = new SqlConnection(connectionString);
connect.Open();
backgroundWorker1.RunWorkerAsync();
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
string ShowDialogConnection()
{
string conn = "";
DataConnectionDialog dlg = new DataConnectionDialog();
DataSource.AddStandardDataSources(dlg);
dlg.SelectedDataSource = DataSource.SqlDataSource;
dlg.SelectedDataProvider = DataProvider.SqlDataProvider;
if (ConfigurationManager.ConnectionStrings["ConStr"] != null)
{
dlg.ConnectionString = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
}
if (DataConnectionDialog.Show(dlg) == DialogResult.OK)
{
if (dlg.ConnectionString != null && dlg.ConnectionString != "")
{
conn = dlg.ConnectionString;
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringsSection csSection = config.ConnectionStrings;
csSection.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
csSection.SectionInformation.ForceSave = …Run Code Online (Sandbox Code Playgroud) 我的程序使用代码:
Convert.ToDouble(Int32.MaxValue)
Run Code Online (Sandbox Code Playgroud)
相当经常.我只是好奇编译器如何处理它.它是作为静态双精度存储还是在运行时执行?
我有一个页面,当用户点击标题时,以下div切换显示.
我想以某种方式说出是否显示任何其他div:块然后将它们设置为先显示无.
我有以下......
$('.office-title').click(function(){
$(this).next('div').slideToggle();
return false;
});
Run Code Online (Sandbox Code Playgroud)
我的HTML标记就是这样......
<div class="office-row">
<h3 class="office-title">Title</h3>
<div class="office">sadasd</div>
</div>
<div class="office-row">
<h3 class="office-title">Title</h3>
<div class="office">sadasd</div>
</div>
<div class="office-row">
<h3 class="office-title">Title</h3>
<div class="office">sadasd</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我正在使用sql连接访问我的数据库中的不同表.但是代码返回以下错误.
错误:"已经有一个与此命令关联的打开的DataReader必须先关闭":
MyContext conn = new MyContext()
protected void ChangeName(int id)
{
User user = conn.MyOtherTable.First(x => x.id == id);
var elements = conn.MyTable.Where(x => x.id == id && x.name == name).OrderBy(x => x.id).OrderBy(x => x.name).
.Select(t => new { t.id, t.name, }).GroupBy(t => new { t.id, t.name, });
foreach (var item in elements)
{
foreach (var row in item)
{
for (int j = 1; j <= 5; j++)
{
if (row.name == "name")
{
user.name1 = …Run Code Online (Sandbox Code Playgroud) 我有一张这样的桌子:
CREATE TABLE `testt` (
`id` int(11) NOT NULL,
`pid` int(11) DEFAULT NULL,
`active` int(11) NOT NULL DEFAULT '0',
`pacitve` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `id` (`id`,`active`),
KEY `pid` (`pid`,`pacitve`),
CONSTRAINT `active_fk` FOREIGN KEY (`pid`, `pacitve`) REFERENCES `testt` (`id`, `active`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)
pid代表父ID
我的数据是这样的:
id pid active pactive
1 NULL 0 0
2 1 0 0
3 1 0 0
4 2 0 0
Run Code Online (Sandbox Code Playgroud)
当我为id = 1设置active = …
我有一个包含8个项目的列表.
我需要从列表中获取每5个项目
我试过的代码:
lstRules.ToList()
.GetRange(((currentPage - 1) * pageSize + 1) - 1, (currentPage * pageSize));
Run Code Online (Sandbox Code Playgroud)
如果CurrentPage = 1 and Pagesize = 5那么aove代码正常工作,因为在这里我通过范围(0,5)...
如果CurrentPage = 2 and PageSize = 5
那样它会抛出如下错误:
"偏移量和长度超出了数组的范围,或者计数大于从索引到源集合末尾的元素数量"
我知道这个错误发生,因为我只有3列表中的项目,我通过范围(5,5)...所以我得到了这个错误..
我的问题是如何解决这个问题?
有没有其他方法从列表中获取数据?
c# ×5
sql ×2
.net ×1
asp.net ×1
collections ×1
hex ×1
javascript ×1
jquery ×1
linq ×1
list ×1
mysql ×1
sql-server ×1