如何将比特阵列转换为字节,当比特阵列只有5位或6位时
我已经为此编写了一个程序,仅当位数组长度为8的倍数时,位才能工作. 有人可以帮助我将5位转换为字节 的位阵列 两个函数仅在8个中的位数阵列时才起作用. public static byte[] BitArrayToByteArray(BitArray bits) { byte[] ret = new byte[bits.Length / 8]; bits.CopyTo(ret, 0); return ret; } public static byte[] ToByteArray(this BitArray bits) { int numBytes = bits.Count / 8; if (bits.Count % 8 != 0) numBytes++; byte[] bytes
16 2024-04-26
编程技术问答社区
如何将Matrix<float>的数据类型修改为数组?
我正在使用C#使用Emgu CV(v2.4).在以下课程中.我需要将表中使用的列的数据类型修改为数组. public void FindSURF(Image modelImage) { VectorOfKeyPoint modelKeyPoints; SURFDetector surfCPU = new SURFDetector(500, false); //extract features from the object image modelKeyPoints = new VectorOfKeyPoint(); Matrix modelDescriptors = surfCPU.DetectAndCompute(modelImage, null, modelKeyPoints); } 冲浪功能提取物并存储在Matrix modelDescriptors中,我如何将此数据类
6 2024-04-26
编程技术问答社区
C#从Access数据库和ComboBox将字符串转换为Int
我正在努力将变量从数据库更改为可用的INT,以便我可以与数据库进行比较以删除行. 这是我正在使用的代码: private void EditEmployee_Load(object sender, EventArgs e) { DataTable table = new DataTable(); //creates a Table to store the data before populating the ComboBox string connstring = @"Provider = Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\HoliPlanData.accdb;Persist Security Info=False"; try { using (OleDbConnection conn = new OleD
6 2024-04-26
编程技术问答社区
从字符串中获取控件名称,然后使用ControlName.Text将其添加到可数据化。
我正在尝试将文本框中的值添加到数据表中,以便我可以检查null值(稍后,重复值) 我能够直接从文本框中添加行,但是当我尝试动态添加最后一个文本框时,我的代码是添加字符串而不是所需值如下: DataTable dt = new DataTable("CheckforNulls"); dt.Columns.Add("ColumnToCheck", typeof(string)); dt.Rows.Add(txtSettingsOneValue.Text.ToLower()); dt.Rows.Add(txtSettingsTwoValue.Text.ToLower()); //ComboBox that has a value between 1 and 12 int x = int.Parse(cbSettingsThreeValu
22 2024-04-26
编程技术问答社区
对C#对象阵列和隐式类型转换的困惑
我正在尝试将简单对象的数组传递给Web服务,并且在编译我的Web客户端项目时,我真的陷入了此错误: 不能隐式将'trimbrokrokerutil.metadata []'转换为'trimbrokerasmxproxy.asmxproxy.metadata []' 这是我的"实用程序"项目,已编译为trimbrokerutil.dll: namespace TRIMBrokerUtil { public class MetaData { protected string _Name; protected string _Value; public MetaData(string keyword, string setting) { this.Name = keyword; this.Value = setting; } public string Name {
14 2024-04-26
编程技术问答社区
将原始类型转换为通用类型?
我正在解析二进制文件.因此,我写了类似于以下内容的内容: public T Parse(BinaryReader reader) { if (typeof(T) == typeof(byte)) return reader.ReadByte(); else if (typeof(T) == typeof(int)) return reader.ReadInt32(); // ... } 但是,这不会编译: 不能隐式将类型'...'转换为't' 这样做对我来说非常方便. 如何从通用方法中返回任何原始内容? 解决方案 这对于检查运行时类型的通用代码很常见.您必须向上对象,然后将其降低到通用T.这是因为编译器"不知道"字节直接可转换为T,即使是由于类型检查而与T相同. public T Parse(BinaryReader reader) { if (typeof(T) ==
10 2024-04-26
编程技术问答社区
测试SqlDecimal和C# Decimal之间的差异
我试图验证C#中的小数将适合DB列小数. SQLDECIMAL对象允许您以精确和比例以及小数位传递给构造函数.我知道列的大小,因此,在我们编写数据之前,请检查每个输入,以便我可以产生所需的业务输出. 在这种情况下,我们存储了百分比,因此精度为 13 ,量表为 10 .我有一个测试线束,下面我将其凝结为UNTI测试.该样本正在在sqldecimal构造函数上抛出算术溢出误差: [TestMethod] public void TestDecimalFits() { decimal d = 10.3m; SqlDecimal sqlDecimal = new SqlDecimal(13, 10, d >= 0, Decimal.GetBits(d)); Assert.AreEqual(d, sqlDecimal.Value); } 有人知道为什么要炸毁吗? 谢谢! 解决方案 Deci
6 2024-04-25
编程技术问答社区
编译时与运行时的.net浮点数取整错误
我最近设置了一些测试案例检查Float数据类型的舍入错误的数据,并遇到了一些意外的结果.我希望案例T2和T3会产生与T1相同的结果,但我的机器并非如此.谁能告诉我为什么? 我怀疑其原因是T2和T3在编译时进行了评估,但是我很惊讶编译器完全忽略了我迫使其在评估过程中使用中间浮点数据类型的尝试. C#标准的某些部分要求评估最大可用数据类型的常数吗? 这是在Win7 64位Intel机器上运行.NET 4.5.2. float temp_t1 = 1/(3.0f); double t1 = (double)temp_t1; const float temp_t2 = 1/(3.0f); double t2 = (double)temp_t2; double t3 = (double)(float)(1/(3.0f)); System.Console.WriteLine( t1 ); //prints 0.333333343267441 Sys
10 2024-04-25
编程技术问答社区
如何在C#中把一个大的十进制数字转换为十六进制(Eg : 588063595292424954445828)
该数字大于int&long,但可以在Decimal中加工.但是普通的ToString或Convert方法在Decimal上不起作用. 解决方案 我相信这将在返回任何内容的情况下产生正确的结果,但可能会拒绝有效的整数.我敢说可以用一些努力来解决问题……(哦,目前也因负数而失败.) ) static string ConvertToHex(decimal d) { int[] bits = decimal.GetBits(d); if (bits[3] != 0) // Sign and exponent { throw new ArgumentException(); } return string.Format("{0:x8}{1:x8}{2:x8}", (uint)bits[2], (uint)bits[1], (uint)bits[0]); } 其他解决方案 手动做! P> 其他解决方案
16 2024-04-25
编程技术问答社区
将对应于数字的字符转换为uint
我需要遍历字符串,这应该是数字字符串,并在这些数字上进行一些算术操作 for (int i = data.Length - 1; i >= 0; --i) { uint curDigit; //Convert to uint the current rightmost digit, if convert fails return false (the valid data should be numeric) try { curDigit = Convert.ToUInt32(data[i]); //arithmetic ops... } catch { return false; } i使用以下输入数据字符串对其进行测试. " 4000080706200002" 对于i = 15,对应于最右数2,我
4 2024-04-25
编程技术问答社区
C# WinForms-自动添加两个文本框
我正在构建这三个文本框,如果填充两个文本框,则将显示总和时,当我输入10 + 10时,结果是1010.一个人可以帮助我吗? 这是我的代码: public void textBoxTranspo_TextChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(textBoxTranspo.Text) && !string.IsNullOrEmpty(textBoxDaily.Text)) textBoxTotalAmount.Text = (Convert.ToInt32(textBoxTranspo.Text) + Convert.ToInt32(textBoxDaily.Text).ToString()); } public void textBoxDaily_TextChanged(object sender, EventArgs e) { if (!stri
10 2024-04-25
编程技术问答社区
如何在C#泛型类中调用类型转换操作符?
似乎我们无法在C#通用类中轻松地调用类型转换操作员 .这是代码.为什么? t006最终存档我们的目标. using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Reflection; using System.Linq; namespace ConsoleApplication1 { class vec : List where T : class { public vec(IEnumerable other) { //Converter cvt = (v) => (T)v; // T004 failed, try defined function dynamicly, cannot compile, too
4 2024-04-25
编程技术问答社区
将二维字符串数组转换为二维int数组(多维数组)。
我想替换string[,] 2D数组 public static readonly string[,] first = { {"2", " ", " ", " ", "1"}, {"2", " ", "4", "3", " "}, {" ", "2", " ", "1", " "}, {" ", "1", " ", "3", " "}, {"1", " ", " ", " ", " "} }; 到int[,]数组 int X=-1; public static readonly int[,] second = { {2, X, X, X, 1}, {2, X, 4, 3, X}, {X, 2, X, 1, X}, {X, 1, X, 3, X}, {1, X, X, X, X} }; 是否可以将string[,]数组转换为int[,]数组?如果是,如何将string[,]转换为int[
16 2024-04-25
编程技术问答社区
如何将TextBox的输入转化为小数点后的数字
这是我要创建的内容:一个程序,用户可以输入任何小数号码并被告知该数字的所有素质. (例如:甚至/奇数,除以2/5/10,是一个质量数,等等.) 可悲的是,我已经无法从用户输入中获取数字. 我需要一个仅允许数字的文本框. (我知道NumericUpdown是一个选项,但我想使用文本框尝试) 我需要将字符串从文本框转换为float(?)(或double?).我知道int不起作用,因为我不希望它切割所有小数点. 我需要测试所有素质的数字,然后再报告. (我将管理). 我需要步骤1&2的帮助. 解决方案 您正在使用什么? WPF,Windows表单或ASP.NET?至于将其转换为十进制,您要做的就是解析或使用转换类.很可能您只需将文本框的名称调用它的文本登录器,然后将其传递给转换或解析作为参数,然后将其塞入变量. 其他解决方案 您可以使用 double.parse tryparse()方法与 parse()方法有所不同,是第一个返回的布尔值,该
4 2024-04-25
编程技术问答社区
如何在C#中把某个字符串[index]转换为int?
我有此代码: string number = "124235245423523423", number2 = "3423525232332325423"; for(i=number.length-1;i>=0;i--){ int save = Convert.ToInt32(number[i]) + Convert.ToInt32(number2[i]); } 这不是完整的代码,但我的问题是为什么我不能以字符串的某个索引作为整数转换并访问某些值?没有直接的方法吗?我尝试了一些事情,但没有解决. 解决方案 您正在寻找int.Parse. int save = int.Parse(number[3].ToString()); 将char转换为Int32返回当前编码中该字符的值. 有关更多信息,请参见 int32.parse的MSDN文档. 其他解决方案 我认为这就是您要寻找的.您必须通过索引值访问字符串,然后转换: int yourNumber
14 2024-04-25
编程技术问答社区
在.NET WinForms中从组合框中取回信息
我的问题是关于Winforms中的组合框.因此,假设我们有一个带有很多字段的通用列表和单项类.例如 class SingleItem{ public int val1; public int val2; public string str; public override string ToString(){ return str; } }; List listOfItems; 假设我们有 combobox 变量.我正在添加以这种方式组合的项目 foreach(SingleItem item in listOfItems){ comboBox.Items.Add(item); } 然后,当用户完成选择项目时,我们需要从选定的项目中获取另一个字段.例如,我需要这样的东西 comboBox.SelectedItem.val1; // where val1 is field of
4 2024-04-25
编程技术问答社区
将带有HASH MD5的字符串转换为ToBase64String
这是我的问题, 我有此代码,该代码接受带有密码的干净文本并返回base64md5哈希 private static string GetMd5Base64Pass(string userpwd) { MD5 md5 = new MD5CryptoServiceProvider(); return Convert.ToBase64String(md5.ComputeHash(Encoding.ASCII.GetBytes(userpwd))); } 我需要重复使用它来接受MD5字符串哈希并在base64md5中返回. 我试图这样做: private static string GetMd5Base64PassMD5(string userpwd) { MD5 md5 = new MD5CryptoServiceProvider(); return Conve
12 2024-04-24
编程技术问答社区
通过返回类型在运行时区分方法
我们正在开发类似Spec-FrameWork(例如MSPEC,NSPEC等)之类的东西,并希望在运行时区分规范类中的方法: public class AccountSpecs { private Account sut; // subject under test Given an_account() { sut = new Account(); } When changing_owner() { var result = sut.ChangeOwner("new owner"); It["returns_previous_owner"] = () => result.ShouldBe("old owner"); } } 您可以看到此类是不可编译的,因为AN_ACCOUNT()和consews_owner()没有返回语句. Q1:我想C#中绝对没有办法指定如果没有返回语句,则默认使用"返回null
4 2024-04-24
编程技术问答社区