Tag: 比较

将值与数组进行比较并获得最接近的值

我是C#的新手,我正在努力学习这门语言。 你们能给我一个提示,我可以比较一个数组,从中选择最低值吗? 喜欢: Double[] w = { 1000, 2000, 3000, 4000, 5000 }; double min = double.MaxValue; double max = double.MinValue; foreach (double value in w) { if (value max) max = value; } Console.WriteLine(” min:”, min); 给我w的最低值,我现在怎么比较? 如果我有: int p = 1001 + 2000; // 3001 我如何比较数组列表,并发现(3000)值是我的“搜索值”最接近的值?

在音频文件中查找音频样本(频谱图已存在)

我想要实现以下目标: 使用Skype,拨打我的邮箱(工作) 输入密码并告诉邮箱我要记录一条新的欢迎信息(有效) 现在,我的邮箱告诉我在发出哔哔声后记录新的欢迎信息 我想等待哔哔声然后播放新消息(不起作用) 我是如何努力实现最后一点的: 使用FFT和滑动窗口(工作)创建频谱图 为哔哔声创建“指纹” 在来自Skype的音频中搜索该指纹 我面临的问题如下: 来自skype和参考蜂鸣声的音频的FFT结果在数字意义上是不同的,即它们相似但不相同,尽管从具有Skype音频记录的音频文件中提取蜂鸣声。 下图显示左侧Skype音频的蜂鸣声频谱图和右侧的参考蜂鸣声频谱图。 如你所见,它们非常相似,但不一样…… 上传了一张图片http://img27.imageshack.us/img27/6717/spectrogram.png 我不知道,怎么从这里继续。 我应该对其进行平均,即将其划分为列和行,并比较这些单元格的平均值,如此处所述? 我不确定这是最好的方法,因为他已经声明,它对短音频样本效果不佳,并且哔哔声的长度不到一秒…… 关于如何进行的任何提示?

没有绑定检查的C#byte 比较

我正在寻找性能有效的方法来比较两个字节[]的相等性。 大小超过1 MB,因此应尽量减少每个数组元素的开销。 我的目标是通过避免对两个数组的重复绑定检查来击败SequenceEqual或每个项目上的手动编码for循环的速度。 就像Array.Copy可以导致快速memcpy ,什么会导致memcmp ?

‘正则表达’VS’字符串比较运算符/函数’

这个问题是围绕PHP中的性能设计的,但如果您愿意,可以将其扩展为任何语言。 经过多年使用PHP并且不得不比较字符串,我已经了解到在性能方面使用字符串比较运算符而不是正则表达式是有益的。 我完全理解一些操作必须使用正则表达式来完成复杂性,但对于可以通过正则表达式和字符串函数解决的操作。 举个例子: PHP preg_match(‘/^[az]*$/’,’thisisallalpha’); C# new Regex(“^[az]*$”).IsMatch(‘thisisallalpha’); 可以轻松完成 PHP ctype_alpha(‘thisisallalpha’); C# VFPToolkit.Strings.IsAlpha(‘thisisallalpha’); 还有很多其他的例子,但你应该明白我想要的。 你应该尝试和倾向于什么版本的字符串比较?为什么?

如何在C#List中存储IP地址列表,使其也可以搜索到子网?

我应该如何正确地存储IP地址列表和地址,使其成为可搜索的子网? 有两个例子: 我有IP地址1.2.3.4,在我的C#List中有1.2.3.4条目,所以这里我们没有问题。 我有IP地址3.4.5.6,在我的C#列表中我有子网3.4.0.0/24。 这是我的问题。 如何在List中存储IP子网以涵盖第二个示例? 谢谢

为什么这个DirectoryInfo比较不起作用?

可能重复: 如何检查2个DirectoryInfo对象是否指向同一目录? var dirUserSelected = new DirectoryInfo(Path.GetDirectoryName(“SOME PATH”)); var dirWorkingFolder = new DirectoryInfo(Path.GetDirectoryName(“SAME PATH AS ABOVE”)); if (dirUserSelected == dirWorkingFolder) { //this is skipped } if (dirUserSelected.Equals(dirWorkingFolder)) { //this is skipped } 在调试时,我可以检查每个中的值,它们是相等的。 所以我猜这是另一个byval byref误解……请有人,我该如何比较这两件事?

比较在Dictionary中用作Key的对象

我的课: public class myClass { public int A { get; set; } public int B { get; set; } public int C { get; set; } public int D { get; set; } } 和主要的例子: Dictionary<myClass, List> dict = new Dictionary<myClass, List>(); myClass first = new myClass(); first.A = 2; first.B = 3; myClass second […]

C#,最快(最好?)识别目录数组中的重复文件的方法

我想递归几个目录,并在n个目录之间找到重复的文件。 我在这方面的下意识是有一个全局哈希表或一些其他数据结构来保存我找到的每个文件; 然后检查每个后续文件以确定它是否在“主”文件列表中。 显然,我不认为这会非常有效,而且“必须有更好的方法!” 我的大脑里一直响个不停。 任何关于更好地处理这种情况的建议都将受到赞赏。

通过比较它们的序列化字节数组来比较类的两个实例是否可靠?

给定一个类的两个实例,通过首先对它们进行序列化然后比较字节数组(或者可能是数组的哈希值)来比较它们是一种好的和可靠的做法。 这些对象可能具有复杂的层次结构属性,但序列化应尽可能深入。 相比之下,我指的是确保原始类型的所有属性具有相等值的过程,复杂类型的属性具有基本类型的相同属性等。至于集合属性,它们应该彼此相等:相等的元素,相同的位置: {‘a’,’b’,’c’} != {‘a’,’c’,’b’} {new Customer{Id=2, Name=”abc”}, new Customer {Id=3, Name=”def”}} != {new Customer{Id=3, Name=”def”}, new Customer {Id=2, Name=”abc”}} 但 {new Customer{Id=2, Name=”abc”}, new Customer {Id=3, Name=”def”}} == {new Customer{Id=2, Name=”abc”}, new Customer {Id=3, Name=”def”}} 通过序列化我的意思是标准的.NET二进制格式化程序。 谢谢。

哪个是快速比较:Convert.ToInt32(stringValue)== intValue或stringValue == intValue.ToString()

在开发我的应用程序时,我遇到了一些比较的东西,这里是: string str = “12345”; int j = 12345; if (str == j.ToString()) { //do my logic } 我以为上面的东西也可以用: string str = “12345”; int j = 12345; if (Convert.ToInt32(str) == j) { //do my logic } 所以我开发了一个示例代码来测试性能,哪个更好 var iterationCount = 1000000; var watch = new Stopwatch(); watch.Start(); string str = “12345”; int j = 12345; […]