C# 数据集-基于列的唯一值检索
我遇到了一些问题,试图从csharp中的数据集检索唯一值,这是可能的吗? 实际上我正在做这样的事情,从Web服务中获取数据集: webService.getInstructions(Username, Password, AppKey).Tables[0].Select(null, "account name asc"); 因此,在这种情况下,我从帐户中获得了一个字母列表,但是此数据集中有一些重复的行. 有什么方法可以使此数据集返回值使用唯一的"帐号" 并按字母顺序排序"帐户名称" ? 我认为,代替 filterexpression 我认为非常好. :) 预先感谢 解决方案 我个人会更改网络服务以进行此此过滤并在 server 上进行排序以减少带宽需求,可能会返回简单的数据类型或自定义类(不是或类似的东西).但是Linq会完成这项工作...(重新阅读问题后进行了更新) var rows = dataset.Tables[0].AsEnum
2 2024-04-25
编程技术问答社区
如何格式化双倍结果和返回?
我想格式化结果并返回,我该怎么做? public virtual double GetArea() { return Math.PI * this.radius * this.radius; } 解决方案 public virtual double GetArea() { return Math.Round(Math.PI * this.radius * this.radius, 2); } Math.Round将在第二个参数中指定的十进制位置的数量圆形上 - 在这种情况下,它将四舍五入到两个小数位. 更新,供参考; Math.Floor圆形,Math.Ceiling圆形,Math.Truncate朝零.因此,Math.Truncate对正数就像Math.Floor,对于Math.Ceiling,对于Math.Ceiling,对于负数. 为了完整性,Math.Round回合到最近的整数.如果数字正好在两个整数之间的中间,则它朝偶数一个.
2 2024-04-24
编程技术问答社区
将子窗口的值传回给主页面
我在Silverlight中有一个子窗口,我希望发送一个字符串值以填充applications mainpage.xaml中的文本框. 如何将值传递回? 我尝试了 - MainPage m = (MainPage)Application.Current.RootVisual; m.textBox1.Text = value; 解决方案 您应该以相反的方式执行此操作.打开子窗口的父母应将事件处理程序附加到孩子的事件上,例如: childwindow.ButtonClicked += new EventHandler(childWindow_ButtonClicked); 在此处理程序中,父母可以使用子窗口的属性更新自己的控件. private void childWindow_ButtonClicked(object sender, EventArgs e) { txtValue.Text = childwind
4 2024-04-22
编程技术问答社区
我怎样才能从一个方法中返回一个对象的常量引用?
public Item getItem(ulong itemId) { Item item = items[itemId] return item; } 现在的问题是:getItem的callee必须能够检索item保留的信息;但不修改它. 对不起,但是我比C#更了解C ++ ...恐怕我必须回到C ++的小微小,而只是为了让自己清楚自己要实现的目标...所以这就是我'D在这种情况下进行C ++: const Item& getItem(unsigned long itemId) { const Item& item = items[itemId]; return item; } 很好 - 现在打电话给getItem的人可能会在item上打电话给Getters,但不打算setters. 我需要在C#中取得类似的结果...是否可能? 解决方案 您可以使用接口来仅浮出水器,同时仍支持实现接口的类中的固定器.只要您返回接口,任何
16 2024-04-22
编程技术问答社区
WCF服务应该返回普通的对象,还是返回你正在使用的实际类?
我正在从另一家公司使用WCF服务,并且正在返回类型object的对象.是否有理由不返回实际类,并返回必须施放正确的对象? 例如,如果Web服务返回类型OrderStatus的对象,为什么要返回普通的旧object? 如果我错了,请纠正我,但这将需要我手动(通过电子邮件或其他任何内容)获得OrderStatus类的定义,然后将其放入我的解决方案中.另外,我将不得不明确地将对象施加到OrderStatus对象.更不用说公司可以更改服务以返回其他类型的对象,而我的代码将停止工作. 如果服务的返回值是类型OrderStatus的对象,则该类将自动为我生成吗? 解决方案 否,绝对不会返回"对象"! WCF应使用数据合同并定义请求的完整实现,并可能为每个调用响应对象. 请参阅有关数据合同基础知识的这两篇出色的文章: 我不知道为什么这些服务的开发人员选择"对象"作为返回类型 - 对我来说没有很多意义! 马克
6 2024-04-21
编程技术问答社区
将图像添加到列表框中
我有一些文本的图像,我需要在列表框中显示与相关文本的图像. 浏览Google我遇到了这个示例类, public class Customer { public string Fname; public string Lname; public Customer(string firstName, string lastName) { Fname = firstName; Lname = lastName; } public override string ToString() { return Fname + " " + Lname; } } lstCustomers.Items.Add(new Customer("Foo","Bar")); 上面的代码仅返回字符串,如何返回图像和字符串,以便将其添加到列表框? 最好的问候 @nand 解决方案 只需使用DataTemplate在ListBox中显示您的
8 2024-04-21
编程技术问答社区
SQL Server 返回代码 -6 是什么意思?
我有一个无问题的存储过程,即返回代码为0.在某些情况下,我raiserror是用户定义的错误(> 50000).在这种情况下,回报为-6.我只是好奇,-6是什么意思?我没有在过程中设置返回代码,因此此数字是生成的SQL Server(System). 我找到了这个语句: 这些负数是否有任何意义,很难很难 告诉.曾经是这样的情况,返回值-1至-99是 保留用于系统生成的返回值,在线书籍 SQL Server的早期版本指定的值-1的含义为-1 -14.但是,SQL 2000的在线书籍对任何此类书籍都保持沉默 预订,并且没有解释-1至-14的含义. 有人知道这些返回代码的"隐藏"含义? 我正在使用SQL Server 2008 R2. 解决方案 好吧,我找到了这个... 从存储的proc on On On erorror If you have a RETURN statement with an explicit return value, tha
6 2024-04-18
编程技术问答社区
调用一个非void函数而不使用其返回值。实际上会发生什么?
所以,我发现了一个类似的问题>在这里,但是答案更多地是关于风格以及您是否能够做到的. 我的问题是,当您调用返回对象的非空隙函数时,实际上会发生什么,但是您从未分配或使用所述返回的对象?因此,更少关于您是否可以,因为我绝对知道您可以并理解上面链接的其他问题...编译器/运行时环境有什么? 这不是一个具体的语言问题,但是如果您回答,请指定您所指的语言,因为行为会有所不同. 解决方案 我相信,对于C#和Java,结果都在堆栈上结束,然后编译器迫使POP指令忽略它. Eric Lippert在上" 对此有更多信息. 例如,考虑以下C#代码: using System; public class Test { static int Foo() { return 10; } public static void Main() { Foo(); Foo(); } } Main方法生成的IL
10 2024-04-18
编程技术问答社区
字符串或StringBuilder的返回值?
如果我在方法中使用StringBuilder对象构建字符串,对: 返回StringBuilder对象,然后让调用代码调用ToString()? return sb; 或通过调用tostring()我自己返回字符串. return sb.ToString(); 我想如果我们要返回小或大字符串,这会有所作为.在每种情况下都适合什么?预先感谢. 编辑: 我不打算进一步修改调用代码中的字符串,但好点Colin Burnett. 主要是,返回StringBuilder对象还是字符串更有效?对字符串的引用会返回还是副本? 解决方案 如果要进一步修改字符串,则返回StringBuilder,否则返回字符串.这是一个API问题. 关于效率.由于这是一个含糊不清/一般的问题,没有任何细节,因此我认为可变与不变的问题比性能更重要.可突变性是让您的API返回可修改对象的API问题.弦长与此无关. 也就是说.如果您使用反射器查看stringBuilder
8 2024-04-18
编程技术问答社区
"错误: 不是所有的代码路径都返回一个值。"
我的代码在编译后会引发名义异常.我不明白为什么会发生这种情况,因为在大量搜索错误之后,仅在没有退出返回语句的情况下存在条件,但我认为我的代码完全包含. . bool CheckExisting() { Account loginAcc = new Account(); string path = Application.StartupPath.ToString() + "\\Customers"; int fCount = Directory.GetFiles(path, "*.xml", SearchOption.AllDirectories).Length; for(int i = 0;i
24 2024-04-17
编程技术问答社区
T-SQL:向C#返回新的INSERT身份
我使用存储过程将值放入SQL Server.该过程将向添加的行添加ID.我需要将此ID返回到我的代码. 目前,我可以在Visual Studio的输出窗口中看到I看到输出ID,但似乎无法在我的代码中捕获它.这是PROC的摘要版本: sql : CREATE PROCEDURE dbo.DoSomething ( @var1 INT = NULL, @var2 INT = NULL, @var3 DATE = NULL ) AS BEGIN INSERT INTO atable ( vara, varb, varc ) VALUES ( @var1, @var2, @var3 ) RETURN SCOPE_IDENTITY() END c#: int result = 0; //
2 2024-04-16
编程技术问答社区
.NET返回值与抛出异常的设计问题
让我们假设我们有一个方法处理操作,在类似于此类结构的类中的树等级数据结构中. 让我们仔细看看其中一种方法: void MoveNode(Node currentNode, Node newParentNode) { /* check if new parent isn't current's child already */ if (newParentNode.LMargin currentNode.RMargin) { //DO WORK } else throw new ArgumentException("New parent node cannot be current's own child"); } MSDN状态:不要投掷以控制流程的例外! 我的问题:在您看来,这种对参数的使用是可以的,还是您会
0 2024-04-16
编程技术问答社区
.NET返回值与抛出异常的设计问题
让我们假设我们有一个方法处理操作,在类似于此类结构的类中的树等级数据结构中. 让我们仔细看看其中一种方法: void MoveNode(Node currentNode, Node newParentNode) { /* check if new parent isn't current's child already */ if (newParentNode.LMargin currentNode.RMargin) { //DO WORK } else throw new ArgumentException("New parent node cannot be current's own child"); } MSDN状态:不要投掷以控制流程的例外! 我的问题:在您看来,这种对参数的使用是可以的,还是您会
2 2024-04-16
编程技术问答社区
如何使用DataContext.ExecuteCommand并获得已执行的存储程序返回值?
在一个c#项目中,我称为存储过程如下: System.Data.Linq.DataContext dataContext = MembershipContext.GetContext(connectionString); int returnValue = dataContext.ExecuteCommand("EXEC usp_SomeProcedure {0}, {1}, {2}", param1, param2, param3); 但是,ExecuteCommand返回所影响的行数,而不是我存储的过程返回值.获得该价值的最简单方法是什么.我需要这个,因为SP在成功时返回0,如果发生错误,则为正值. 目前,存储的PROC使用返回以输出其返回值.但是,我可以为选择更改此操作,或者如果需要,也可以使用输出参数. 解决方案 我相信您需要将命令类型设置为commandType.storedprocedure,以便从存储的proc中获取返回值.请参阅此处的可接受的答案:
6 2024-04-15
编程技术问答社区
如果一个方法返回一个接口,这意味着什么?
我看到许多将接口指定为返回值的方法.我的想法是真的:我的方法可以返回从该界面继承的每个类型?如果没有,请给我一个很好的答案. 解决方案 是的,您的方法可以返回任何实现该接口的类型. 这是一个示例: using System; class Foo { public IComparable GetComparable() { // Either of these return statements // would be valid since both System.Int32 return 4; // and System.String return "4"; // implement System.IComparable } } 其他解决方案 是的,这意味着您唯一知道返回的对象的知识是它实现了接口. 实际上,对象的实际类型甚至可能无法
8 2024-04-15
编程技术问答社区
当C#结构被声明为一个函数的返回值时,是否曾经被装箱?
一个简单的问题,但我在堆栈溢出上没有找到明确的答案. struct MyStruct { int x, y, z; } MyStruct GetMyStruct() => new MyStruct(); static void Main() { var x = GetMyStruct(); // can boxing/unboxing ever occur? } 是 c# struct(value type)总是从函数返回时复制到堆栈中的 ,无论它可能有多大吗?我不确定的原因是,对于MSIL以外的某些指令集(例如X86),返回值通常需要适合处理器寄存器,并且堆栈不直接参与. 如果是这样,是在(预期)值返回类型的CLR堆栈上预先分配空间的呼叫站点? [edit:revers of回复] 对于原始问题的目的,答案是 no ; CLR永远不会(默默地)Box A struct仅仅是为了将其作为返回值传输.
2 2024-04-15
编程技术问答社区
什么时候使用JsonResult而不是ActionResult
我一直无法找到有关此问题的具体答案.我已经从 this 中查看了帖子和后续帖子阅读是Jsonresult具有硬编码的内容类型,并且实际上没有任何性能提高. 如果两个结果都可以返回JSON,为什么您需要将JSONRESULT与ActionResult一起使用. public ActionResult() { return Json(foo) } public JsonResult() { return Json(bar) } 任何人都可以解释一个场景,即ActionResult根本无法完成工作,并且必须使用JSONRESULT 必须使用.如果不是,为什么首先存在Jsonresult. 解决方案 何时在ActionResult 上使用JsonResult 我通常返回具体结果(例如JsonResult,ViewResult),并且有我的优点: 控制器的界面提供了有关其行为的更多信息.当您指定PartialViewResult和ViewRe
0 2024-04-14
编程技术问答社区
Filestream.Read的返回值是什么意思?如何分块读取数据并进行处理?
我是C#的新手,所以请忍受我.我正在阅读(使用FileStream)数据(固定大小)到小数组,处理数据,然后再次读取到文件的末尾. 我考虑使用这样的东西: byte[] data = new byte[30]; int numBytesToRead = (int)fStream.Length; int offset = 0; //reading while (numBytesToRead > 0) { fStream.Read(data, offset, 30); offset += 30; numBytesToRead -= 30; //do something with the data
10 2024-04-14
编程技术问答社区
最佳实践:参考参数或返回值?
实际上我正在作为参考参数列表,如下所示: public static List ListMethod(List result) 我也看到有人以这种方式做: public static void ListMethod(ref List result) 如果我没有错,"我的方法也将list作为参考参数,您应该能够以与他的方法中的"其他"相同的方式使用它. ,但对我来说,您输入参数,对其进行操作并在方法返回值中返回它似乎更加"干净". 对一种或另一种方法或另一种方法或针对另一种方法有什么好论点? 解决方案 您不需要使用ref> 可能 - 但是 is 是一个差异. 通常,当我看到人们使用ref用于参考类型参数时,这是因为他们不了解参数传递的工作方式.但是,如果您的方法具有类似的内容: result = new List(); ... 然后在第一种情况下,呼叫者看不到更改,而在第二种情况下,呼叫者的变量将更改为参考新对象. 请参阅我的有
4 2024-04-12
编程技术问答社区