只在有匹配的情况下添加到列表中
我有一个要导入RTB的文件: // Some Title // Some Author // Created on // Created by // Format: "Text Length" : 500 lines "Page Length" : 20 pages Component: 123456 "Name" : Little Red Riding Hood "Body Length" : 13515 lines ........etc // can have any number of lines under 'Component: 123456' Component: abcd "Name" : Some other Text "Body Length" : 12 lines ........etc // can have any number of lines under 'Component: abcd' ... etc, etc // T
12 2024-04-26
编程技术问答社区
来自文件中的图像bytearray不匹配相同的图像字节阵列从URL下载
我真的希望有人可以将我指向正确的方向,因为我将头发的最后一点拉出来! 我正在做的事情:我正在研究一个图像比较项目,其中我从URL下载图像并将其与以前存储在驱动器上的图像进行比较.如果URL映像与文件上的图像不同,则将创建一个新文件(然后使用该图像与从URL下载的最新图像进行比较). 下载的图像使用MemoryStream和bitmap.fromstream(MS)来创建图像(使用WebClient downloaddata) - 完美工作 将图像通过将其转换为字节数组并使用file.writeallbytes - 完美工作 来存储图像. 所以我能够成功下载,保存和读取图像. 这是我的问题:下载的图像中的字节比存储在文件上的原始映像中的字节更多,这使我的图像比较我的图像无用. 这两个图像都是完全相同的,并且在视觉上相同.分辨率,格式,像素格式都相同,但是字节不匹配,我为什么不匹配? byte[] byteNew.Length = {byte[2846
10 2024-04-26
编程技术问答社区
LINQ:比较两个列表并计算子集
我正在比较2个列表,并且只有在发现多次出现时,我才需要从主列表(AllModules)收集子集(模量)的出现. (AllModules包含模量模块). ModuleStodelete中任何模块的多次出现意味着共享这些模块.模块中的模块发生的一种发生意味着模块是孤立的并且可以安全地删除(它只是发现自己).我可以用嵌套的foreach循环来做到这一点,但这是我用linq表达式(无效)收集的. List modulesToDelete = { A, B, C, K } List allModules = {R, A, B, C, K, D, G, T, B, K } // need to flag B and K var mods = from mod in modulesToDelete where allModules.Any(name => name.Contains(mod.Name) && mod.Name.Count() > 1) select
8 2024-04-26
编程技术问答社区
c# 列表比较
嗨,我需要找到一种方法来比较许多(c#)列表对象与输出每个数字中发生的数字. ,例如 List1{1, 2, 3, 4, 5} List2{1, 3, 6, 8} List3{1, 2, 3} 这将返回{1,3} 解决方案 使用linq扩展方法 InterSect . 变量结果= list1.intersect(list2).intersect(List3); 其他解决方案 linq Intersect是为此建立的.
8 2024-04-25
编程技术问答社区
C# String.Equals对相同的字符串返回false
我正在研究一个项目,对于其中的一部分,我需要比较2个字符串. 我的问题是,每当我尝试比较它们时,我总是会得到false (==, .Equals(), String.Equals() - 它们都返回false,即使我有2个完全相同的字符串) 这是我代码的一部分. var tagType = JObject.Parse(json).First.First.ToString(); foreach (var type in assembly.ExportedTypes) { var name = tagType; var currentType = type.Name; var a = name.Length; var b = currentType.Length; var result = currentType == name; var result1 = currentType.Equals(name); var r
2 2024-04-25
编程技术问答社区
如何在C#中动态地解析和比较字符串值?
对不起,我必须重新编辑这个问题. 我需要动态地将两个字符串值分解为适当的类型并进行比较,然后返回布尔结果. 示例1: string lhs = “10”; string rhs = “10”; Compare.DoesEqual(lhs, rhs, typeof(int)); //true Compare.DoesEqual(lhs, rhs, typeof(string)); //true 示例2: string lhs = “2.0”; string rhs = “3.1”; Compare.IsGreaterThan(lhs, rhs, typeof(int)); //false Compare.IsGreaterThan(lhs, rhs, typeof(double)); //false Compare.IsGreaterThan(lhs, rhs, typeof(string)); //invalid, always false 目前我正在
10 2024-04-25
编程技术问答社区
比较两台机器上的DateTime ticks
比较两个不同计算机上两个文件的两个文件的两个FileInfo.CreationTimeUtc.Ticks以查看哪个版本较新 - 或者有更好的方法? tick虫取决于OS时间,还是从过去的某个固定日期开始真正的物理滴答? 解决方案 UTC时间的 aim 是它将是通用的 - 但是两个计算机都必须具有同步时钟才能使其合适才能比较tick.例如,如果我们的两台计算机都以完全相同的瞬间更新了文件(撇开相对论),他们仍然可以记录不同的时间 - 这不像计算机倾向于内置原子时钟. 当然,他们可以将时间与NTP等同步,以使相互接近.对于您的用途是否足够好,很难没有更多信息.您还应该牢记用户故意与他们的系统时钟混乱的可能性 - 这可能会给您的用例带来问题吗? 其他解决方案 tick ticks取决于操作系统时间还是他们 确实有一些固定的物理滴答 过去的日期? tick几乎独立于操作系统. 如果我没记错的话,1秒= 10000000 tick. 所以无论您检查的时间
8 2024-04-25
编程技术问答社区
如何通过两列对比两个csv文件?
我有2 csv 文件 1.CSV spain;russia;japan italy;russia;france 2.CSV spain;russia;japan india;iran;pakistan 我读取两个文件并将数据添加到列表 var lst1= File.ReadAllLines("1.csv").ToList(); var lst2= File.ReadAllLines("2.csv").ToList(); 然后,我从两个列表中找到所有唯一的字符串,并将其添加到结果列表 var rezList = lst1.Except(lst2).Union(lst2.Except(lst1)).ToList(); rezlist包含此数据 [0] = "italy;russia;france" [1] = "india;iran;pakistan" 现在,我想在所有行中进行比较,进行 second 和第三列列. 1.CSV
12 2024-04-25
编程技术问答社区
如何在C#中实现一个简单的通用比较
我只是开始探索使用仿制药的基本,并且会认为我可以实现这种简单的模式来解决我的日常使用中的典型问题.我花了几天的时间来寻找一个简单的例子.我可以找到寻找.equals的示例,但没有过去.我希望能够与以下内容进行实例化: Spec voltageSpec; Spec cyclesSpec; Spec fishInTheOceanSpec; 然后能够: bool isGood = voltageSpec.inSpec(5.0); bool isGood cyclesSpec.inSpec(2); bool isGood fishInTheOceanSpec.( new myClass(20)); 我的尝试如下所示. /// /// Generic object to hold a specification i.e min and max limits. /// Implements a method
6 2024-04-24
编程技术问答社区
如何在C#中比较两个List<string[]>?
自动化 - 使用C# 硒 我们正在读取一个返回List的值的表.我们需要比较执行动作之前和之后的值,这不应影响表内容. 是否可以比较两种方法 List ExpRequestItemsWithSection List ActRequestItemsWithSection 到现在为止,我一直在使用以下代码,并且效果很好.但是,是否有其他方法可以比较这两个收藏品?有什么想法,因为我需要处理大量列表,因此更快,更少的资源密集型? bool isRequestsMatch = true; for (int i = 0; i
6 2024-04-24
编程技术问答社区
测试现有字符串与大型可比较列表的最佳方法
假设您有一个定义值的首字母缩略词列表(例如AB1,de2,cc3),并且您需要检查字符串值(ex." happy:de2 | 234"),以查看是否在字符串.对于首字母缩写词的简短列表,我通常会创建一个简单的正则表达式,该正则是使用分隔符(例如(AB1 | de2 | cc3)),然后寻找匹配项. 但是,如果有30多个首字母缩写可以与之匹配,我该如何解决?使用相同的技术(丑陋)是否有意义,或者有一种更有效,优雅的方法来完成这项任务? 请记住,示例缩写列表和示例字符串不是我正在使用的实际数据格式,而只是表达我挑战的一种方法. 顺便说一句,我读了一本SO 相关问题认为它适用于我要完成的工作. 编辑:我忘了包括我捕获匹配值的需求,因此选择使用正则表达式... 解决方案 我个人认为30对于正则表达式不大,所以我不会太快排除它.您可以用一行代码创建正则态度: var acronyms = new[] { "AB", "BC", "CD", "ZZAB" };
12 2024-04-24
编程技术问答社区
C#,比较两个不同类型的列表
我有对象列表,并且有字符串列表. List states = new List(); states.add("wisconsin"); states.add("Florida"); states.add("new york"); List foo = new List(); foo.add(new Foo(2000, name1, "wisconsin")); foo.add(new Foo(1000, name2, "california")); foo.add(new Foo(300, name3, "Florida")); 一个对象具有三个属性: int年龄,字符串名称和字符串状态. 我已经将这些对象添加到列表中.第二个列表由"状态"字符串组成. 如何比较这两个列表?什么是最好的方法? 我想知道一个对象是否具有相同的"状态",其他列表组成. 请引导我. 解决方案 听起来您想要类似的东西: Li
8 2024-04-23
编程技术问答社区
当等价比较器基于OR操作时,GetHashCode()的正确写法是什么?
我正在尝试为带有3个字段的简单类编写一个平等比较,例如: public class NumberClass { public int A { get; set; } public int B { get; set; } public int C { get; set; } } 如果Obj1.A == Obj2.A || Obj1.B == Obj2.B>(换句话说,OR)和OBJ2是NumberClass的实例.NumberClass. 我可以轻松地写下比较的Equals(),但我不知道该如何处理GetHashCode()方法. public bool Equals(NumberClass x, NumberClass y) { if (x.A == y.A || x.B == y.B) return true; else return false; } public int GetHashCod
4 2024-04-23
编程技术问答社区
如何使用自定义比较器按不同词法顺序对数组排序?
所以,我是C#的新手,我正在尝试使用自定义比较订购数组. 我创建了一个类: class MySorter : IComparer { public int Compare(object x, object y) { var chars = "jngmclqskrzfvbwpxdht"; if (chars.IndexOf((char)x) chars.IndexOf((char)y) ? 1 : 0; } } 我有一个充满单词的数组. 我可以使用此比较进行排序如何加剧? 解决方案 我认为您需要的是这个.声明一种像您已经做过的分类方法. public static int CompareStrings(string s1, str
10 2024-04-23
编程技术问答社区
C#中Dictionary<string, int>和enter中的值的比较
我有一个功能,用于库存的许多字符串关联: public int Scale(string value) { this.stringToInt = new Dictionary() { {"1p",00},{"2p",01},{"3p",03} ... {"300p",40} }; // Here i try to do something like that: if(value == (String in dictionary) return associate int } 因此,我尝试在字符串中进行比较在我的字典中的字符串接收到return Associate int. 有什么想法吗? 感谢您的帮助! 解决方案 您可以使用ContainsKey() Dictionary的方法检查键是否存在字典中: if (this.stringToInt.ContainsKey(value) { return this.s
2 2024-04-22
编程技术问答社区
将数值与数组进行比较,得到与之最接近的数值
我是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)值是我的" searchValue"的最接近值? 解决方案 您可以使用
8 2024-04-22
编程技术问答社区
C#-两个大字符串数组的模糊比较
我需要在B中找到"部分"中存在的所有字符串. B = [ "Hello World!", "Hello Stack Overflow!", "Foo Bar!", "Food is nice...", "Hej" ] A = [ "World", "Foo" ] C = B.FuzzyCompare(A) // C = [ "Hello World!", "Foo Bar!", "Food is nice..." ] 我一直在考虑使用 Levenshtein Distance Algorithm 作为问题的"模糊"部分,以及 linq 进行迭代. 但是,A * B通常会导致超过15亿的比较. 我应该如何解决这个问题?有没有办法快速"几乎比较" 两个字符串列表? 解决方案 也许仅比较子字符串就足够了,这将更加有效: var C = B.Where(s1 => A.Any(s2 => s1.IndexOf(s2, StringComparison.Ordinal
8 2024-04-21
编程技术问答社区
使用LINQ比较两个数组
例如,我有两个数组: string[] arrayOne = {"One", "Two", "Three", "Three", "Three"}; string[] arrayTwo = {"One", "Two", "Three"}; var result = arrayOne.Except(arrayTwo); foreach (string s in result) Console.WriteLine(s); 我想要arrayOne中不存在的项目.因此,我需要结果为: Three Three 但是我没有得到结果,因为它将"三"视为常见,而没有检查其他两个项目("三","三"). 我不想最终写出一个巨大的方法来解决这个问题.尝试了其他答案,但没有按预期工作:(. 谢谢!!! 解决方案 构建第二个标签,然后在无法从标签中删除项目时仅允许项目过滤. var hs = new HashSet(arrayTwo); var filter
12 2024-04-21
编程技术问答社区
按ID搜索对象的二进制数组
美好的一天! 我有一个ValueObj的列表: class ValueObj { int ID; float value; } 如何通过ID获取二进制搜索对象? (列表tempvalues) 我成为ValueComparer班级,但不知道我是对的吗? class ValueComparer { public int Compare(ValueObjx, ValueObjy) { if (x == y) return 0; if (x == null) return -1; if (y == null) return 1; return -1; ///??? } } 我需要按ID排序列表.这样?: tempvalues.sort(new valueComparer()); 以及如何使用binarysearch? 解决方案 C#中的列
8 2024-04-20
编程技术问答社区