小编Ben*_*ack的帖子

仅查找多维数组中第一个维的长度

假设我有以下内容:

public void MakeMatrix(int matrixLength)
{
    int[,] Matrix = new Matrix[matrixLength,matrixLength]
    PopulateMatrix(Matrix);
    PrintMatrix(Matrix);
}
Run Code Online (Sandbox Code Playgroud)

PrintMatrix(int[,] Matrix)函数中,如何找到多维数组中只有一维的长度?

public void PrintMatrix(int[,] Matrix)
{
    int intLength = // I don't know what to put here     <===================
    for (int k = 0; k < intLength ; k++)
    {
        for (int l = 0; l < intLength; l++)
        {
            Console.Write("{0,2} ", Matrix[k, l]);
        }
        Console.WriteLine();
    }

}
Run Code Online (Sandbox Code Playgroud)

.net c# arrays

4
推荐指数
1
解决办法
4240
查看次数

如何迭代数组/集合/列表中的"之间"项?

多年来这个问题一直困扰着我,而且当我有一个更好的解决方案时,我总觉得我想要一个黑客.当你想要做的事,以所有列表中的项目,然后添加一些发生在眼前的问题插图中的那些项目.简而言之,我想:

  • 对列表中的每个项目执行某些操作.
  • 除了列表中的最后一项之外的所有其他内容(实际上,在列表中的项目之间执行某些操作).

例如,假设我有一个名为的类Equation:

public class Equation
{
    public string LeftSide { get; set; }
    public string Operator { get; set; }
    public string RightSide { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想迭代一个Equations 列表并返回一个格式化这些项目的字符串; 类似以下内容:

public string FormatEquationList(List<Equation> listEquations)
{
    string output = string.Empty;
    foreach (Equation e in listEquations)
    {
        //format the Equation
        string equation = "(" + e.LeftSide + e.Operator + e.RightSide + ")";

        //format the "inbetween" part …
Run Code Online (Sandbox Code Playgroud)

.net c# string iteration

4
推荐指数
2
解决办法
487
查看次数

如何使一个选择框的值驱动第二个选择框的选项

我想制作一个带有2个选择框的HTML表单.第一个选择框中的选定选项应该驱动第二个选择框中的选项.我想在客户端(使用javascript或jQuery)动态解决这个问题,而不是必须向服务器提交数据.

例如,假设我有以下菜单类别菜单项:

  • 三明治
    • 火鸡
    • 火腿
    • 培根
  • 双方
    • Mac'n Cheese
    • 土豆泥
  • 饮料
    • 可口可乐
    • 雪碧
    • Sweetwater 420

我会有两个select盒子,分别命名Menu CategoryItems.当用户SandwichesMenu Category框中选择时,框中的选项Items将仅显示三明治选项.

为了使这更具挑战性,让我们假设我不知道菜单项或类别是什么,直到我准备将页面发送到客户端.我需要一些方法来"链接"两个选择列表的数据,但我不知道如何做到这一点.

我陷入困境,因为我可能会这样做.一旦我过滤掉第二个列表一次,当我在第一个列表中更改菜单类别后,如何"找到"列表选项?另外,如果我在思考SQL,我会在第一个框中有一个键,用于链接到第二个框中的数据.但是,我无法看到第二个框中有"key"元素的空间.

如何通过jQuery或普通javascript的组合解决这个问题?

html javascript jquery dynamic-ui

4
推荐指数
1
解决办法
5536
查看次数

如何封装仅适用于少数方法的私有字段

我正在创建一个类中的业务域对象的建模,我想知道什么是正确封装仅适用于几个方法的私有字段的最佳方法.

当我开始时,我的代码最初看起来像这样:

public class DiscountEngine
{
    public Cart As Cart { get; set;}
    public Discount As Discount { get; set;}

    public void ApplySKUGroupDiscountToCart()
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,ApplySKUGroupDiscountToCart()开始变得丑陋,所以我决定将代码重构为较小的私有方法,从而调用ApplySKUGroupDiscountToCart().我首先将大量局部变量传递给辅助方法,但随后决定提取两个例程共有的变量并使它们成为私有模块变量.新代码如下所示:

public class DiscountEngine
{
    public Cart As Cart { get; set;}
    public Discount As Discount { get; set;}

    private int _SKUGroupItemDiscountsApplied = 0
    private int _SKUGroupTotalDiscounts = 0
    private int _SKUGroupID = 0

    public void ApplySKUGroupDiscountToCart()
    {
        ...
    }

    private void ApplyDiscountToSingleCartItem(ref CartItem cartI, 
                                               ref DiscountItem discountI)
    { …
Run Code Online (Sandbox Code Playgroud)

c# oop encapsulation

4
推荐指数
1
解决办法
334
查看次数

如何将"/ x"选项参数合并到.NET控制台应用程序中?

许多命令行实用程序使用参数,例如:

gacutil /i MyDLL.dll
Run Code Online (Sandbox Code Playgroud)

要么

regasm /tlb:MyDll.tlb MyDll.dll
Run Code Online (Sandbox Code Playgroud)

如何建立一个.NET控制台应用程序采取命令行参数和,其次,你怎么可以模拟处理"选项"参数,如/i/tlb:在上述各例子吗?

.net c# vb.net console-application

4
推荐指数
2
解决办法
8365
查看次数

Entity Framework 4是否适用于SQL Server 2005?

ADO.NET Entity Framework 4是否可以与SQL Server 2005一起使用?

我无法让EF工作,我想知道是不是因为我们的SQL Server版本.

sql-server compatibility entity-framework sql-server-2005 entity-framework-4

4
推荐指数
1
解决办法
1750
查看次数

为什么编译器认为这是一个Object而不是DataRow?

我正在使用LINQ查询将DataTable对象内的数据转换IEnumerable为自定义POCO对象的简单.

我的LINQ查询是:

    Dim dtMessages As DataTable

    '...dtMessages is instantiated ByRef in a helper data access routine... '

    Dim qry = From dr As DataRow In dtMessages.Rows
              Select New OutboxMsg With {
                  .ComputerID = dr(dcComputerID),
                  .MessageData = dr(dcMessageData),
                  .OutBoxID = dr(dcOutBoxID),
                  .OutBoxReceivedID = dr(dcOutBoxReceivedID),
                  .TrxDate = dr(dcTrxDate)
              }
Run Code Online (Sandbox Code Playgroud)

但是,编译器会在消息下面发出警告dr As DataRow消息:

Option Strict On禁止从"Object"到"System.Data.DataRow"的隐式转换.

为什么我会收到此错误,我需要做些什么才能修复它?我原本以为它dtMessages.Rows返回了一个类型的集合DataRow.这不正确吗?

.net linq vb.net casting option-strict

4
推荐指数
2
解决办法
1933
查看次数

如何获取插入产生的Identity字段?

我要将数据插入到表中,如下所示:

Insert Into MyTable (Field1, Field2)
           Values   ('test', 5)
Run Code Online (Sandbox Code Playgroud)

发生插入时,新行将在ID列中具有标识值.如果@ID在我的T-SQL代码中调用了一个变量,如何填充@IDT-SQL插入的结果?

Declare @ID int

Insert into MyTable (Field1, Field2)
             Values ('test', 5)

--//How do I populate @ID with the value of ID of the record that was just inserted?
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server stored-procedures

4
推荐指数
1
解决办法
328
查看次数

有没有办法添加使用.appref-ms的ClickOnce应用程序到系统路径?

我下载了一个名为MarkdownPad的Windows应用程序(很棒的应用程序!),并希望将其添加到我的系统路径中,以便我可以从命令行打开它,例如

> markdownpad.exe .\something.md
Run Code Online (Sandbox Code Playgroud)

但是,我找不到此应用程序在磁盘上的安装位置.当我在开始菜单中查找应用程序时,我看到的只是一个.appref-ms文件.在记事本中打开它,我看到的只是一个URL,http://markdownpad.com/download/MarkdownPad.application#MarkdownPad.application.我不确定这是如何使用的,但它并没有真正帮助我弄清楚如何从命令行运行这个工具.

有什么我可以这样做,以便我可以从命令行执行此应用程序?

.net wpf clickonce path

4
推荐指数
1
解决办法
1466
查看次数

找到与另一个字段中的数据的最大值匹配的一个字段的值

我正在尝试编写一个查询,该查询获取与另一个字段(或多个字段)的最大值相关联的一个字段的.假设我有以下数据表:

OrderID CustomerID  OrderDate   LocationID          
1       4           1/1/2001    1001
2       4           1/2/2001    1003
3       4           1/3/2001    1001
4       5           1/4/2001    1001
5       5           1/5/2001    1001
6       5           1/6/2001    1003
7       5           1/7/2001    1002
8       5           1/8/2001    1003
9       5           1/8/2001    1002
Run Code Online (Sandbox Code Playgroud)

分组依据CustomerID,我希望获得最大值OrderDate,然后与最大值LocationID相关联OrderDate.如果有共享的最大订单日期几条记录,然后采取LocationID与相关的最大OrderID距离与最大日期的记录中.

最终的数据集应如下所示:

CustomerID  OrderDate   LocationID      
4           1/3/2001    1001
5           1/8/2001    1002
Run Code Online (Sandbox Code Playgroud)

我一直在尝试编写一个包含大量嵌套子查询和丑陋连接的查询,但我并没有真正得到任何结论.我需要写什么SQL来帮助我获得这个结果.

sql sql-server aggregate sql-server-2005

3
推荐指数
1
解决办法
783
查看次数