Tag: 参数传递

在Windows Phone 8中的页面之间传递字符串

我需要在Windows Phone 8中的两个页面之间传递一个简单的字符串。我一直在搜索,试图找到最好的方法 – 但我试过的那些结果不能正常工作 – 所以我问你:在Windows Phone 8中在两个页面之间传递简单字符串的最佳方法是什么。这是我用于导航到另一个页面的方法: NavigationService.Navigate(new Uri(“/newpage.xaml”, Urikind.Relative));

检查inside方法是否传递了一些可选参数

如何检查是否将可选参数传递给方法? public void ExampleMethod(int required, string optionalstr = “default string”, int optionalint = 10) { if (optionalint was passed) return; } 另一种方法是使用Nullable.HasValue ( MSDN定义 , MSDN示例 ): int default_optionalint = 0; public void ExampleMethod(int required, int? optionalint, string optionalstr = “default string”) { int _optionalint = optionalint ?? default_optionalint; }

C#vs Python参数传递

如果有的话,Python的参数传递规则与C#的参数传递规则有什么主要区别? 我对Python非常熟悉,只是开始学习C#。 我想知道我是否能够想到规则集是关于何时通过引用传递对象或者通过C#的值与在Python中相同,或者如果存在一些关键差异,我需要记住。

通过引用和值传递对象

在深入研究设计课程之前,我只想检查一下我对C#处理事物的方式的理解。 我目前的理解是: Struct是一种值类型,这意味着它实际上包含在其中定义的数据成员。 Class是引用类型,意味着它包含对其中定义的数据成员的引用。 方法签名按值传递参数,这意味着将值的副本传递给方法内部,这使得大型数组和数据结构的代价很高。 使用ref或out关键字定义参数的方法签名将通过引用传递参数,这意味着提供指向对象的指针。 我不明白的是当我调用一个方法时会发生什么,实际发生了什么。 是否会调用new()? 它只是自动复制数据吗? 或者它实际上只是指向原始对象? 使用ref和out如何影响这个?

为什么列表在没有引用的情况下传递给一个像ref一样传递的函数?

如果我没有得到这个非常错误,这种行为对我来说很奇怪。 而不是解释,我将在下面发布一个示例代码,请告诉我为什么我得到输出x而不是y。 private void button1_Click(object sender, EventArgs e) { List l = new List() { 1, 2, 3 }; Fuss(l); MessageBox.Show(l.Count.ToString()); } private void Fuss(List l) { l.Add(4); l.Add(5); } 输出应该,我假设是3.但我得到输出为5.我理解输出可以是5如果我这样做: private void button1_Click(object sender, EventArgs e) { List l = new List() { 1, 2, 3 }; Fuss(ref l); MessageBox.Show(l.Count.ToString()); } private void Fuss(ref […]

使用.NET中的类型化数据集将SQL参数传递给IN()子句

首先道歉,因为这个网站上有类似的问题,但没有一个直接回答这个问题。 我在VS 2010中使用了类型化数据集。我在数据集中创建一个TableAdapter,其查询类似于: SELECT * from Table WHERE ID IN(@IDs) 现在,如果我调用: TableAdapter.Fill(MyDataTable,”1,2,3″) ,则会发生错误,指出VS无法将1,2,3转换为int类型。 很公平。 那么我决定在Parameter集合中将Parameter(即@IDs)类型更改为string。 再试一次 – 仍然是相同的错误消息。 那么这种类型的数据集是否可以接受我的“1,2,3”参数? 目前我只有一些参数可以通过,所以我可以轻松地创建5个左右的参数并单独传递它们,但是如果有数百个呢? 有没有办法用逗号分隔参数调用Fill()方法? (我知道我可以使用动态SQL来创建语句并执行它但更喜欢是否有另一种方式允许我保留我的类型化数据集以用于例如ReportViewer / bindingsources)