草庐IT

四元组

全部标签

c# - "if (object is (string, Color))"c# 7.0 元组用法不起作用

我使用的是VisualStudio2017RC,我已经安装了System.ValueTuple包,它启用了新的c#7.0元组用法,但我无法让它在这种特定情况下工作:如您所见,第一种方法没有任何红色波浪线,而且很管用。但是尝试执行ois(string,Color)失败并出现不相关的错误:新的元组不能这样用吗?或者它只是包裹的当前状态?我已经将它更新到最新版本btw,此时是4.3.0。我读过thisMSDNpost但没有发现任何这样的用法。 最佳答案 Roslyncontainsteststhatensureusingtuplesinp

c# - 在 select 语句中使用命名元组

有没有更好的方法使用var目标变量在C#7中选择命名元组?我一定在示例1中做错了什么,或者完全误解了某些东西。我似乎必须明确设置目标类型才能执行此操作。//1.Failstocompilewith"incorrectnumberoftypeparameters"issue.vartuples=source.Select(x=>(x.A,x.B));//2.CompilesIEnumerabletuples=toCheck.Select(x=>(x.A,x.B));//3.Compilesvartuples=newHashSet(source.Select(x=>(x.A,x.B)));

c# - 是否有适合初学者的元组的实际示例?

我正在为初级程序员制作C#4.0的教学视频。对于我介绍的每个主题,我都包含一个学生可以实际使用的实际示例,例如,对于改进的COMInterop功能,我展示了如何创建一个Excel文件并用代码中的值填充它。对于命名参数和选项参数,我展示了如何使用5个参数创建一个日志记录方法,但如果您不需要,则不必传递任何参数,因为它们都有默认值。因此,他们看到使用此功能如何更轻松地调用方法。如果可以的话,我也想介绍元组,但似乎所有的“实际例子”(如本题:PracticalexamplewhereTuplecanbeusedin.Net4.0?)都非常高级。使用视频的学习者学习OOP、LINQ、使用泛型等

c# - 从列表中的每个元组中获取某些项目

创建列表的正确方法是什么,比如说,每个Tuple的第一项。在List的Tuples?如果我有一个List>,我怎样才能得到List每个Tuple中的第一个字符串? 最佳答案 一点Linq就可以解决这个问题:varmyStringList=myTupleList.Select(t=>t.Item1).ToList();作为解释,由于Tim发布了几乎相同的答案,因此Select()创建了一个1:1的“投影”;它获取Enumerable的每个输入元素,并为每个输入元素计算lambda表达式,并将结果作为具有相同数量元素的新Enumerab

c# - 通过 WCF 发送元组对象?

System.Tuple类是否受WCF的数据契约序列化程序支持(即,我能否将Tuple对象传递给WCF调用和/或接收它们作为部分或全部结果)?我找到了thispage,但不是我所希望的明确、明确的“您可以使用WCF发送和接收元组”的答案。我猜你可以,只要Tuple本身的所有类型within都受DataContractSerializer支持——任何人都可以向我提供更明确的答案?谢谢。 最佳答案 Tuple类型标有SerializableAttribute,因此,如果您在其中存储的类型是可序列化的,那么它们也应该能够被WCF序列化。查

c# - 基于元组或嵌套的字典有好处吗?

我一直在寻找一种方法来存储和检索多个值,而不仅仅是C#的通用Dictionary类提供的单个键。在网上搜索(andonSOitself)向我展示了几个选项:基于元组的字典.NET4.0使支持通用Tuple类变得容易。这意味着您可以从任意元组中创建一个字典,即,varmyDict=newDictionary,MyClass>();嵌套字典我了解到您还可以在字典中嵌套字典,这使得访问存储的结果类似于访问N维数组。例如:Dictionary>>然后可以通过以下方式访问:MyClassfoo=MyData[8][3]['W'];带分隔符的串联键字典虽然两者都能很好地处理复杂数据和自定义类,但我

c# - 元组==混淆

假设我定义了两个元组:Tupletuple1=newTuple(1.0f,2.0f,3.0f,4.0f);Tupletuple2=newTuple(1.0f,2.0f,3.0f,4.0f);如果我尝试比较元组,我会得到不同的结果boolresult1=(tuple1==tuple2);//FALSEboolresult2=tuple1.Equals(tuple2);//TRUE我希望这两个调用都返回true。==到底在比较什么? 最佳答案 对于元组,==正在比较对象引用,因为它不会重载==运算符(operator)。由于对象是等效的

c# - 允许命名元组的语言

我想知道是否有任何语言允许命名元组。即:具有多个不同类型和可配置名称的变量的对象。例如:publicNamedTupleCalculateStuff(intarg1,intarg2)varresult=CalculateStuffTuple(1,2);Console.WriteLine("Speedis:"+result.Speed.ToString())Console.WriteLine("Distanceis:"+result.Distance.ToString())我可以想象动态如何支持这样的功能。我通常使用的静态语言(如c#)可以执行字典,但除非所有项目都属于同一类型,否则这不

c# - 从 EF 选择返回元组

如何使用EF4在选择时检索元组?varproductCount=(fromproductincontext.productsselectnewTuple(product,products.Orders.Count));或者varproductCount=(fromproductincontext.productsselectTuple.Create(product,products.Orders.Count));EntityFramework说第一种情况不能使用非空构造函数,第二种情况不能识别Tuple.Create方法。 最佳答案

php - 是否可以在 ARC2 中对已解析的三元组进行 SPARQL 查询?

ARC2文档不是很准确。它给出了以下两个示例:首先,解析一个RDF文件:$parser=ARC2::getRDFParser();$parser->parse('http://example.com/foaf.ttl');$triples=$parser->getTriples();其次,在数据存储上进行SPARQL查询:$q='SELECT...';$rows=$store->query($q,'rows');...但是是否可以直接对解析后的$triples进行SPARQL查询? 最佳答案 恐怕ARC2没有内存中的SPARQL处理