我有一个用C#创建的数据表.
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
dt.Rows.Add("James", 23);
dt.Rows.Add("Smith", 40);
dt.Rows.Add("Paul", 20);
Run Code Online (Sandbox Code Playgroud)
我想将此传递给以下存储过程.
CREATE PROCEDURE SomeName(@data DATATABLE)
AS
BEGIN
INSERT INTO SOMETABLE(Column2,Column3)
VALUES(......);
END
Run Code Online (Sandbox Code Playgroud)
我的问题是:我们如何将这3个元组插入SQL表?我们需要使用点运算符访问列值吗?或者还有其他方法吗?
在我编写的冗长代码中有一个按钮单击事件。我有一个对象列表。每次单击按钮时,都应修改列表(例如,应删除某些项目),然后使用 foreach 循环进行迭代。
List<Person> lp=new List<Person>();
lp.RemoveAt(2);
foreach(Person j in lp)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
当我尝试执行上述代码时,会导致异常。
InvalidOperationException : 集合被修改;枚举操作可能无法执行。
我在互联网上找到了一些解决方案并尝试了它们。其中之一是,
foreach(Person j in lp.ToList())
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
但没有什么可以阻止异常。
有人可以帮忙吗?
我编写了以下代码来查找对象列表中的常见对象
https://dotnetfiddle.net/gCgNBf
..............................
var query = setOfPersons
.SelectMany(l => l.Select(l1 => l1))
.GroupBy(p => p.Id)
.Where(g => g.Count() == setOfPersons.Count);
Run Code Online (Sandbox Code Playgroud)
之后,我需要将"查询"转换为"人物"对象(列表)列表以实现其他目的.
我尝试使用"ToList()" ......但它说:
"无法将IGrouping转换为List".
有人可以帮我解决吗?
这个问题可能听起来很愚蠢。但是我尝试了几种选择,但都没有奏效。
我在字符串变量中有以下内容。
string myText="*someText*someAnotherText*";
Run Code Online (Sandbox Code Playgroud)
我上面的意思是,“someText”之前可以有 0 个或多个字符。在“someText”之后和“someAnotherText”之前可以有 0 个或多个字符。最后,在“someAnotherText”之前可以有 0 次或多次出现任何字符。
我尝试了以下方法。
string res= Regex.Replace(searchFor.ToLower(), "*", @"\S*");
Run Code Online (Sandbox Code Playgroud)
它没有用。然后我尝试了以下方法。
string res= Regex.Replace(searchFor.ToLower(), "*", @"\*");
Run Code Online (Sandbox Code Playgroud)
即使那样也行不通。
有人可以帮忙吗?尽管我已经提到“*”来表示出现 0 次或多次,但它表示我没有提到出现次数。
我有一个类结构,如下所示,
class class_A
{
public bool isChecked;
public int id;
}
class class_B
{
List<class_A> classAObjects=new List<class_A>();
}
class class_C
{
List<class_B> classBObjects=new List<class_B>();
}
Run Code Online (Sandbox Code Playgroud)
并有一个从class_C创建的对象列表,
List<class_C> classCObjects=new List<class_C>();
Run Code Online (Sandbox Code Playgroud)
我想分配true或false到class_A.isChecked为每个实例class_A基于一些条件.如果ID是100,那么它应该分配false.否则,它应该分配true.
这是我现在的代码:
classCObjects.ToList().ForEach(a=>a.classBObjects.ForEach(b=>b.classAObjects.ForEach(x=>x.isChecked=true)));
Run Code Online (Sandbox Code Playgroud)
以上分配true给所有人.有谁知道如何得到我需要的东西?