小编stu*_*rtd的帖子

使用LINQ将List <dynamic>转换为List

我有一个收藏品List<dynamic> dList.在那里,它有string物品和List<string>物品.现在我需要在一个List中组织所有值.

只需参考List<dynamic>dList

情况1

List<dynamic> dList = new List<dynamic>()
{
    "Selva",
    new List<string>() {"Bala"},
    new List<string>() {"Prayag", "Raj"},
    "Pavithran"
};
Run Code Online (Sandbox Code Playgroud)

案例:2

List<object> bala = new List<dynamic>()
{
    "Selva",
    new List<object>() {"Bala"},
    new List<object>() {"Prayag", "Raj"},
    "Pavithran"
};
Run Code Online (Sandbox Code Playgroud)

以上两个列表的输出是

在此输入图像描述

我的预期输出是

在此输入图像描述

我怎样才能达到上述预期的效果List<dynamic>?列表是在运行时生成的,我无法更改结构.

这是复杂的Linq查询的一小部分,因此,我需要在Linq中实现这一点.

c# linq collections list dynamic

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

具有多个键的EF Find()

我试图在一组具有外键和2个主键的EF类上使用Find(),但是我不断收到错误.

这是我的班级:

public class dbDDV
    {
        [ForeignKey("dbf")]
        [Column(Order = 0)]
        public int id { get; set; }

        [Key]
        [Column(Order = 1)]
        public DateTime D0 { get; set; }

        [Key]
        [Column(Order = 2)]
        public DateTime D1 { get; set; }

        public double V{ get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

对于id,D0和D1的特定值,我一直在尝试使用Find():

dbContext.mySetOfdbDDV.Find(myId,myD0,myD1)
Run Code Online (Sandbox Code Playgroud)

以下是我收到的错误:

System.ArgumentException:传递的主键值的数量必须与实体上定义的主键值的数量相匹配.

在这种情况下,Find()的正确方法是什么?

c# entity-framework

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

如何使用 Process.Start 打开 word 文件(带空格的路径)?

该文件在目录中,但空格导致此错误:

string outfile = @"C:\Users\hp\Desktop\New folder (4)\outFile.doc";    
Process.Start("WINWORD.EXE", outfile);
Run Code Online (Sandbox Code Playgroud)

给我看这条消息

和这个

c# process.start

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

提取没有安全数据库信息的数据库架构(Visual Studio)

我正在使用 VS2017,我的数据库在 SQL Server 2014 上运行。我想从现有数据库创建一个 sql 数据库项目。我创建了我的 sql 项目,但我遇到了一些问题: sql 数据库项目是使用文件夹安全性创建的,如下面的屏幕所示。

VS 2017 中的 SQL 项目

有人有想法,我只会有架构?

c# sql-server visual-studio dacpac

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

HSM(硬件安全模块)如何工作?

我是 HSM 的新手。我想在我的产品之一中使用 HSM 来存储密钥数据库。我有以下问题:

1) 是否所有 HSM 都支持 HTTPS(SSL)?
2)我们在 HSM 上有用户空间可以运行我们自己的程序吗?
3) 任何通过 HTPPS 访问 HSM 的标准 API?

注意:用户可以拥有来自任何服务提供商的任何 HSM。

hsm

1
推荐指数
2
解决办法
2365
查看次数

为什么接受实现私有接口方法?

我正在研究接口,并遇到了一些奇怪的接口问题,其中的规则是我们必须实现公共接口方法。但是在这个例子中没有。

我尝试了从经验中学到的知识,发现的答案确实违反了规则。

    public interface DropV1
    {
        void Ship();
    }

    public interface DropV2
    {
        void Ship();
    }
    //accepted by the editor
    class DropShipping : DropV1, DropV2
    {
        void DropV1.Ship() { }
        void DropV2.Ship() { }

    }
Run Code Online (Sandbox Code Playgroud)

我原以为10亿%的实施将是:

public void DropV1.Ship()
public void DropV2.Ship()
Run Code Online (Sandbox Code Playgroud)

为什么会这样呢?

c# interface

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

How to disable MenuStrip MaximizeBox

How can i disable the MaximizeBox of MenuStrip when isMidContaine = true of the main form. I want it to be disable not to hide ControlBox of the form as i read in some solutions.

    private void Show_Form_Click(object sender, EventArgs e)
    {
        Form1 f = new Form1();
        f.MdiParent = this;
        f.WindowState = FormWindowState.Maximized;
        f.Show();
    }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

c# winforms

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

将小数部分四舍五入到最接近的 0.5 倍数

将数字的小数部分四舍五入到最接近的 0.5 倍数的代码是什么?例如,我正在寻找这样的输出

输入=>输出
40.11 => 40.10
40.12 => 40.10
40.13 => 40.15
40.14 => 40.15
40.16 => 40.15
40.17 => 40.15
40.18 => 40.20
40.19 => 40.20

我的数字有小数部分,最多两位小数。

任何帮助是极大的赞赏。

c#

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

如果不存在值,如何在枚举中获取默认值

我有这个枚举:

public enum EnumMoney
{
    SDI= 1,
    RCV= 2,
    STIS= 3
}
Run Code Online (Sandbox Code Playgroud)

如果我用不存在的代码检索值,它将返回整个代码。

样本:

var selectedEnum =  (EnumMoney) 1;
var selectedEnumNoExist =  (EnumMoney) 200;
Run Code Online (Sandbox Code Playgroud)

selectedEnumNoExist将返回“200”。我实际上希望它返回一个空字符串。

c#

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

在使用Expression.AndAlso聚合表达式列表时遇到问题

我是明确构建LINQ表达式的新手,我试图通过使用Aggregate和Expression.AndAlso来弄清楚如何将IEnumerable >>组合成单个Expression>.

我觉得我越来越近了,但我显然错过了一些东西.

public static Expression<Func<T, bool>> CombineExpressions<T>(
IEnumerable<Expression<Func<T, bool>>> expressions)
{

  if (expressions == null || expressions.Count() == 0)
  {
    return t => true;
  }
  var combined = expressions
                .Cast<Expression>()
                .Aggregate((a, b) => Expression.AndAlso(a, b));

  ParameterExpression pe = Expression.Parameter(typeof(T), "x");

  return Expression.Lambda<Func<T, bool>>(combined, pe);
}
Run Code Online (Sandbox Code Playgroud)

当我调用此方法时,我得到以下异常:

System.ArgumentException: 
       Expression of type 'System.Func`2[SomeEntity,System.Boolean]'
       cannot be used for return type 'System.Boolean'
Run Code Online (Sandbox Code Playgroud)

请帮忙!

c# linq lambda expression

0
推荐指数
1
解决办法
924
查看次数