我有这两个数据表,我想得到它们之间的区别.这是一个例子:
Table1
-------------------------
ID | Name
--------------------------
1 | A
2 | B
3 | C
--------------------------
Table2
-------------------------
ID | Name
--------------------------
1 | A
2 | B
--------------------------
Run Code Online (Sandbox Code Playgroud)
我只想将结果作为table1中的数据而不是table2中的数据(table1-table2)
ResultTable
-------------------------
ID | Name
--------------------------
3 | C
--------------------------
Run Code Online (Sandbox Code Playgroud)
我尝试通过Linq使用这两个类似的解决方案,但它总是返回table1而不是table1-table2.这是第一个解决方案:
DataTable table1= ds.Tables["table1"];
DataTable table2= ds.Tables["table2"];
var diff= table1.AsEnumerable().Except(table2.AsEnumerable(),DataRowComparer.Default);
Run Code Online (Sandbox Code Playgroud)
二解决方案:
var dtOne = table1.AsEnumerable();
var dtTwo = table2.AsEnumerable();
var difference = dtOne.Except(dtTwo);
Run Code Online (Sandbox Code Playgroud)
那么,错误在哪里?非常感谢你的所有答案.:)
我试图根据msdn的这篇文章实现Web浏览器. http://code.msdn.microsoft.com/vstudio/Professional-WebBrowser-dac9c5d0#content 但是我在第4.2点添加NuGet功能时遇到了麻烦.我通过Manage NuGet Packages成功安装了DockPanel Suite.此应用程序是Visual Studio 2012中的WinForms.在此安装之后,我应该在工具箱中看到DockPanel组件,但我找不到它.我尝试了一切,但仍然没有.
我在python中有这个字典结构:
dict={'key1': [['val1','val2'], ['val1','val2'], ['val1','val2']],....}
Run Code Online (Sandbox Code Playgroud)
我想写函数来添加新的键值对.这是方法:
def AddNewPair(key, firstArr, secondArr, thirdArr):
myDict.update({key:[[firstArr],[secondArr],[thirdArr]]});
Run Code Online (Sandbox Code Playgroud)
函数调用的例子如下:
AddNewPair("key2",["val1","val2"],["val1","val2"],["val1","val2"]);
Run Code Online (Sandbox Code Playgroud)
此功能有效,但不正确.它几乎按预期添加新的键值对,但值(数组数组)包含另一个不必要的数组.所以,结果如下:
dict={'key1': [['val1','val2'], ['val1','val2'], ['val1','val2']],'key2': [[['val1','val2'], ['val1','val2'], ['val1','val2']]] }
Run Code Online (Sandbox Code Playgroud)
当然我不想要这个包裹的数组.拜托,你能帮帮我吗?非常感谢你.