jjzjj

c# - 在 ASP.NET Core Web API Controller 中使用 C# 7 元组

你知道为什么会这样吗:publicstructUserNameAndPassword{publicstringusername;publicstringpassword;}[HttpPost]publicIActionResultCreate([FromBody]UserNameAndPasswordusernameAndPassword){Console.WriteLine(usernameAndPassword);if(this.AuthenticationService.IsValidUserAndPasswordCombination(usernameAndPassword.u

c# - C# 4.0 元组是协变的吗

(我会自己检查一下,但我还没有VS2010(还))假设我有2个基本接口(interface):IBaseModelInterfaceIBaseViewInterface还有2个实现这些的接口(interface):ISubModelInterface:IBaseModelInterfaceISubViewInterface:IBaseViewInterface如果我定义一个Tuple我想根据返回Tuple的工厂的结果来设置它.在C#3中,即使子接口(interface)实现了基接口(interface),我也不能这样做。如果我使用IEnumerable,我很确定C#4允许我这样做因为它

c# - 编辑 List<Tuple> 项

用List你可以用这个简单地编辑一个项目:varindex=List.FindIndex(s=>s.Number==box.Text);List[index]=newString;但是,如何将它应用于List>例如? 最佳答案 您可以用类似的方式找到索引-通过对列表中的每个元组应用条件:varindex=listOfTuples.FindIndex(t=>t.Item1==box1.Text||t.Item2==box2.Text);您可以通过调用Tuple.Create来替换一个项目:listOfTuples[index]=Tup

c# - 单元素元组和零元素元组有什么用?

C#7.0引入了值元组以及对它们的一些语言级别支持。他们addedthesupport单个和零元素元组也是如此;但是,我无法找到它们有用的任何场景。通过ValueTuple.Create重载,我可以创建任何类型的元组,但C#7.0语法只允许至少两个元素:Microsoft(R)RoslynC#Compilerversion2.8.3.62923Loadingcontextfrom'CSharpInteractive.rsp'.Type"#help"formoreinformation.>ValueTuple.Create()[()]>ValueTuple.Create(1)[(1)]>

c# - 我可以使用 Linq 从 IEnumerables 构建元组吗?

我有两个IEnumerables,我想构建一个IEnumerable的Tuple从。Item1的Tuple应该是项目的索引,Item2第一个集合中第index个位置的值,以及Item3第二个集合中第index个位置的值。这在Linq中可以轻松完成吗?例如varfirst=newList(){10.0,20.0,30.0};varsecond=newList(){1.0,2.0,3.0};varresult=TupleBuild(first,second);//result={(0,10.0,1.0),(1,20.0,2.0),(2,30.0,3.0)}哪里:IEnumerable>Tu

c# - 使用 LINQ 获取列表中的所有对

如何在列表中获取所有可能的项目对(顺序不相关)?例如如果我有varlist={1,2,3,4};我想得到这些元组:varpairs={newTuple(1,2),newTuple(1,3),newTuple(1,4),newTuple(2,3),newTuple(2,4)newTuple(3,4)} 最佳答案 对cgeers答案进行轻微的重新表述,以获得您想要的元组而不是数组:varcombinations=fromitem1inlistfromitem2inlistwhereitem1(如果需要,请使用ToList或ToArray

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