我尝试在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)
但这是错的.

我的数据库上下文中有 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) 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) 我有一个集合 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 的值对所有集合项进行分组。
我有一些愚蠢的情况,我找不到简单而优雅的解决方案来解决烦人的问题.
我用简单的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并且显然失败了.
如何以一种优雅的方式解决这个问题,而不重复"选择"代码?
我有一个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为空.
任何帮助将不胜感激!
我有一个这样的字典:
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)
问题是键的值只在运行时才知道,因为我只知道运行时我的新的无限对象有多少属性及其名称.
任何人都可以建议我如何实现我的目标?
我有以下内容:
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类型.
我有一个问题数组,其中一些是空的,其中一些有一些东西.像这样 :
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)
这给了我错误
谢谢.
给出两个这样的整数数组: -
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)
我怎样才能有效地做到这一点?
它不起作用: -
if(keyval.Value == "menu") // false
Run Code Online (Sandbox Code Playgroud)
但这有效: -
if(keyval.Value.ToString() == "menu") // true
Run Code Online (Sandbox Code Playgroud)
这两者有什么区别.
为什么第一个条件不起作用?