小编Rah*_*ngh的帖子

通过Jquery设置ID属性

我尝试在div中为图像元素设置id.

<div id = 'div_content'>
   <img src ='img1.png'>
   <img src ='img2.png'>
</div>
Run Code Online (Sandbox Code Playgroud)

和脚本:

var items = document.querySelectorAll('#div_content img');
for (var i = 0, l = items.length; i < l; i++) {
   items[i].attr("id","id"+i);
};
Run Code Online (Sandbox Code Playgroud)

但这是错的. 在此输入图像描述

html javascript jquery

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

实体框架 - 右连接到视图

我的数据库上下文中有 2 个实体:

员工员工
假期权利

认为这是一种相当正常的一对一关系 - 但 Employee 可以在没有 EmployeeHolidayEntitlement 的情况下存在,但 EmployeeHolidayEntitlement 不能在没有 Employee 的情况下存在

Employee 映射到我的数据库中的视图
EmployeeHolidayEntitlement 是一个

我的课程是:

员工假期权利

[Table("tblEmployeeHolidayEntitlement")]
public class EmployeeHolidayEntitlement
{
    [Key]
    public int EmployeeNumber { get; set; }

    public virtual Employee Employee { get; set; }

    public decimal StandardEntitlement { get; set; }

    //.....omitted for brevity
}
Run Code Online (Sandbox Code Playgroud)

员工

[Table("vEmployee")] //note v - it's a view
public class Employee
{
    [Key]
    public int EmployeeNumber { get; set; }

    public string …
Run Code Online (Sandbox Code Playgroud)

c# sql linq entity-framework

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

使用LINQ计算总和

foreach (Item item in Items)
                        {
                            Cost = Cost +
                                    item.Costs.OrderByDescending(x => x.ID)
                                              .FirstOrDefault()
                                              .Cost;

                        }
Run Code Online (Sandbox Code Playgroud)

上面的LINQ返回150.

我有4个项目(1,2,3,4)与各自的成本.我需要重写上面的LINQ以获得210的正确总成本.

ID - ItemID--成本

11 - 1 - 10

21 - 2 - 20

31 - 2 - 30

41 - 3 - 40

51 - 3 - 50

61 - 4 - 60

任何人都可以提供修改后的LINQ吗?

如下修改LINQ并没有给我预期的结果 -

foreach (Item item in Items)
                    {
                        Cost = Cost +
                                item.Costs.Sum(r => r.Cost);
                    }
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-objects

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

根据嵌套(内部)集合的属性值对外部集合进行分组

我有一个集合 A,它内部有一个集合 B 作为它的属性之一。我想根据内部集合的属性值对外部集合 A 的所有项目进行分组。

class A
{
    string A;
    List<B> NestedColl;
}

class B
{
    string key;
    string name;
    int id;
}
Run Code Online (Sandbox Code Playgroud)

我现在有

List<A> localCollection = new List<A>();
Run Code Online (Sandbox Code Playgroud)

我想根据嵌套集合中 Id 的值对所有集合项进行分组。

c# linq group-by

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

在Linq Select方法中避免重复代码

我有一些愚蠢的情况,我找不到简单而优雅的解决方案来解决烦人的问题.

我用简单的UI编写asp.net应用程序,根据用户选择查询数据库.用于使用Entity Framework查询DB I.

在我的场景中,其中一个可选用户选择是自由文本,为此我使用SQL Server FTS功能(使用CONTAINSTABLE函数,因为我需要按相关性排序结果).

现在,我有以下情况:

如果用户没有提供自由文本标准,我使用类型的结果创建简单的Linq查询IQueriable<Result>(其中'Result'是一个包含来自表的数据的实体)

但是,如果用户没有提供免费的文字标准,我创建与CONTAINSTABLE查询,它的类型是IQueriable<ResultWithRank>(其中"ResultWithRank"是一个对象包含两个实体:"结果"和"排名",因为在内部CONTAINSTABLE结果加入).

在这个阶段,在我构建了我的可查询之后,我需要在其上执行'Select'方法,以便将其转换为有用的东西.

这是问题所在:

在第一种情况下,我的select语句如下所示:

var result = queryable.Select(entity => /*.. about 20 lines of reshapying code .. */
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,它看起来像这样:

var result = queryable.Select(entity.Result => /*.. about 20 lines of exactly the same reshapying code .. */
Run Code Online (Sandbox Code Playgroud)

我想避免重复"选择"代码,因为两种情况都相同.我试图将它移动到外部方法,但这没有执行,因为Linq试图将我的方法转换为SQL并且显然失败了.

如何以一种优雅的方式解决这个问题,而不重复"选择"代码?

c# linq entity-framework

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

C#跳过,如果不为null

我有一个click事件处理程序,它必须检查两个文本框是否为null,如果两个文本框都没有给两个变量赋值并传递给另一个方法.

一个变量是String,另一个是整数.如果String为null但整数不是,它将正常工作(它不应该!).但是,如果整数为null而String不是,它将给出一个预期的错误,因为它不应该达到那个点.

这是代码:

        private void btnInsert_Click(object sender, EventArgs e)
    {
        String ActorName;
        int Position;
        if ((txtPosition.Text != null))
        {
            if ((txtActorName.Text != null))
            {
                ActorName = txtActorName.Text;
                Position = int.Parse(txtPosition.Text);
                InsertIntoArrayList(ActorName, Position);
                PopulateActors();
            }
            else
            {
                MessageBox.Show("Please enter an Actor Name");
                return;
            }
        }
        else
        {
            MessageBox.Show("Please enter a position");
            return;
        }
    }
Run Code Online (Sandbox Code Playgroud)

如您所见,如果txtPosition不为null,则它会测试txtActorName.如果其中一个为null,则抛出相关消息.假设两者都不为null,它将值分配给变量并将这些值传递给InsertIntoArrayLIst方法,然后调用PopulateActors方法.

如果我输入一个演员姓名和一个职位,一切正常.只有当我没有进入某个位置时,它会以某种方式忽略输入的事实,然后在线上滑动,Position = int.Parse(txtPosition.Text);因为txtPosition为空.

任何帮助将不胜感激!

c# int winforms

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

C#字典透视Linq

我有一个这样的字典:

Key | Value
C1  | 1
C2  | 2
C3  | 3
Run Code Online (Sandbox Code Playgroud)

现在我需要一些linq语句或lambda表达式(或其他机制)来返回这样的新对象:

new { C1 = 1, C2 = 2, C3 = 3}.
Run Code Online (Sandbox Code Playgroud)

问题是键的值只在运行时才知道,因为我只知道运行时我的新的无限对象有多少属性及其名称.

任何人都可以建议我如何实现我的目标?

c# linq dictionary dynamic

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

.Range返回true,应该是false

我有以下内容:

   if (settingsAgeFrom > 0 && settingsAgeTo > 0)
   {
      if (!Enumerable.Range(settingsAgeFrom, settingsAgeTo).Contains(age))
      {
         canContact = false;
      } 
   }
Run Code Online (Sandbox Code Playgroud)

这基本上检查年龄是否在settingsAgeFrom和settingsAgeTo之间

settingsAgeFrom = 18
settingsAgeTo = 20
age = 26
Run Code Online (Sandbox Code Playgroud)

应该返回false并将canContact设置为false,而是跳过它说明它有效?

我在这里错过了什么吗?

所有三个变量都是int类型.

c# linq

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

使用具有一些空值的linq迭代数组

我有一个问题数组,其中一些是空的,其中一些有一些东西.像这样 :

Questions = {null , null , object , null , object}
Run Code Online (Sandbox Code Playgroud)

有没有办法在这个阵列上使用linq?

Questions.Where(x => x.someValue == OtherValue).ToList();
Run Code Online (Sandbox Code Playgroud)

这给了我错误

谢谢.

c# linq arrays

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

在两个数组中找到对,这样当乘法成为一个完美的正方形时

给出两个这样的整数数组: -

int [] a = {2,6,10,13,1,178};
int [] b = {3,7,8,9,11,15};

如何从这两个数组中找到对,这样当它们成倍增加时它们就变成了完美的正方形?

对于例如,在上述阵列{2,8}{18,8}两对.

现在我的方法是暴力,我在这两个数组中循环: -

int count = 0;
for (int i = 0; i < arr1.Length; i++)
{
    for (int j = 0; j < arr2.Length; j++)
    {
         var x = arr1[i] * arr2[j];
         long s = (long)Math.Sqrt(x);
         if (x == s * s)
               count += 1;                   
     }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能有效地做到这一点?

c# arrays algorithm perfect-square

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

条件不起作用

它不起作用: -

if(keyval.Value == "menu") // false
Run Code Online (Sandbox Code Playgroud)

但这有效: -

if(keyval.Value.ToString() == "menu") // true
Run Code Online (Sandbox Code Playgroud)

这两者有什么区别.

为什么第一个条件不起作用?

c# asp.net

-5
推荐指数
1
解决办法
66
查看次数