小编Tar*_*rik的帖子

如何在CLR上学习IL

由于这些IL代码我所看到的更多,我喜欢学习如何正确解释它们.

我找不到像C#Compiler或其他任何文档这样的文档,所以我想在学习了这些常见的文档之后我几乎可以完成其余的工作:

以下是一些包含我需要知道的IL代码示例:

样本1:

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  // Code size       15 (0xf)
  .maxstack  1
  .locals init ([0] class EnumReflection.DerivedClass derivedClass)
  IL_0000:  nop
  IL_0001:  newobj     instance void EnumReflection.DerivedClass::.ctor()
  IL_0006:  stloc.0
  IL_0007:  ldloc.0
  IL_0008:  callvirt   instance void EnumReflection.DerivedClass::WriteOutput()
  IL_000d:  nop
  IL_000e:  ret
} // end of method Program::Main
Run Code Online (Sandbox Code Playgroud)

样本2:

.method public hidebysig specialname rtspecialname 
        instance void  .ctor() cil managed
{
  // Code size       38 (0x26)
  .maxstack  8
  IL_0000:  ldarg.0
  IL_0001:  ldstr      "Hello"
  IL_0006:  stfld …
Run Code Online (Sandbox Code Playgroud)

.net clr il

20
推荐指数
4
解决办法
5953
查看次数

Asp.NET处理程序和通用处理程序

在Visual Studio 2010中,当您说新项时,您可以看到Asp.NET Handler和Generic Handler.你能告诉我有什么不同吗,我认为它带有.NET 4.0,因为我在Google上找不到相关的东西.

谢谢.

asp.net handler

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

当垃圾收集器在堆中移动数据时,引用是否会更新?

我读到GC(垃圾收集器)出于性能原因在Heap中移动数据,我不太明白为什么因为它是随机存取内存,可能是为了更好的顺序访问但是我想知道当这样的移动发生时Stack中的引用是否得到更新在堆里.但也许偏移地址保持不变,但垃圾收集器会移动其他部分数据,但我不确定.

我认为这个问题与实现细节有关,因为并非所有垃圾收集器都可以执行此类优化,或者他们可能会执行此操作但不更新引用(如果它是垃圾收集器实现中的常见做法).但我想得到一些特定于CLR(公共语言运行时)垃圾收集器的总体答案.

还有,我也读埃里克利珀的"参考文献都没有地址"的文章在这里,和下面的段落搞糊涂了一点:

如果您认为引用实际上是一个不透明的GC句柄,那么很明显,要找到与句柄关联的地址,您必须以某种方式"修复"该对象.您必须告诉GC"直到另行通知,具有此句柄的对象不得在内存中移动,因为有人可能有一个指向它的内部指针".(有多种方法可以做到这一点超出了这种熨平板的范围.)

听起来像参考类型,我们不希望移动数据.那么我们在堆中存储了什么,我们可以移动以进行性能优化?也许我们存储的类型信息?顺便说一下,如果你想知道那篇文章是关于什么的,那么Eric Lippert正在比较对指针的一点点,并尝试解释如何说引用只是地址,即使它是C#如何实现它也可能是错误的.

而且,如果我上面的任何假设是错误的,请纠正我.

.net c# heap garbage-collection

18
推荐指数
2
解决办法
1843
查看次数

微软问:单一列表还是双重列表?使用每个的利弊是什么?

我被问到这样的问题而且我有自己的说法,但我不确定该如何评价利弊和专业人士?微软向其中一位候选人提出这个问题.

单链表可以让你走向单向.而双向链表在下一个和前一个方向有两个方向.

这是一张描绘单一和双重链接列表的好照片.

在此输入图像描述

但是,您如何以更有秩序的方式解释这些项目的利弊?

.net linked-list

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

在Asp.NET中将CSS应用于内容页面

通常当我们使用Master/Content样式页面时,我们将css应用于Master页面,因此母版页的每个页面子项都可以使用该样式但我不希望这样,我希望我想直接将css应用于内容页面而不是母版页.我应该放在哪里

<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
Run Code Online (Sandbox Code Playgroud)

那个参考代码?

顺便提前谢谢.

css asp.net

16
推荐指数
2
解决办法
5万
查看次数

PHP中的卷曲括号表示法

我正在阅读OpenCart的源代码,我在下面遇到了这样的表达.有人可以向我解释一下:

$quote = $this->{'model_shipping_' . $result['code']}->getQuote($shipping_address);
Run Code Online (Sandbox Code Playgroud)

在声明中,有一个奇怪的代码部分,
$this->{'model_shipping_' . $result['code']}
它有{},我不知道那是什么?它看起来像我的对象,但我不是很确定.

php curly-braces

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

从DataBase填充TreeView

我有一个数据库表(名为Topics),其中包括以下字段:

  1. topicId
  2. 名称
  3. parentId的

通过使用它们,我想在c#中填充TreeView.我怎样才能做到这一点 ?

提前致谢...

c# database asp.net treeview webforms

15
推荐指数
5
解决办法
8万
查看次数

为什么静态方法不能用作ASMX Web服务中的Web服务操作?

我只是想知道为什么我不能在Web服务中使用静态Web方法?为什么限制?

有些人可以给我简明扼要的解释.

c# asp.net web-services asmx

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

使用HttpWebRequest添加自定义标头

我不确定这些突出显示的值是什么类型的标头,但我应该如何使用HttpWebRequest添加它们?

HTTP标头

突出显示的部分是否被视为http请求或标题数据的主体?换句话说,哪种方式是正确的?

这是我目前使用的代码:

HttpWebRequest request = (HttpWebRequest) WebRequest.Create("/securecontrol/reset/passwordreset");
request.Headers.Add("Authorization", "Basic asdadsasdas8586");
request.ContentType = "application/x-www-form-urlencoded";
request.Host = "www.xxxxxxxxxx.com";
request.Method = "POST";
request.Proxy = null;
request.Headers.Add("&command=requestnewpassword");
request.Headers.Add("&application=netconnect");
Run Code Online (Sandbox Code Playgroud)

但是,我应该使用以下代码来构建上面的Http请求吗?

string reqString = "&command=requestnewpassword&application=netconnect";
byte[] requestData = Encoding.UTF8.GetBytes(reqString);

HttpWebRequest request = (HttpWebRequest) WebRequest.Create("/securecontrol/reset/passwordreset");
request.Headers.Add("Authorization", "Basic ashAHasd87asdHasdas");
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = requestData.Length;
request.Proxy = null;
request.Host = "www.xxxxxxxxxx.com";
request.Method = "POST";

using (Stream st = request.GetRequestStream())
st.Write(requestData, 0, requestData.Length);
Run Code Online (Sandbox Code Playgroud)

c# http-headers

14
推荐指数
2
解决办法
10万
查看次数

Eclipse中Consolas字体的行高增加

许多人正在使用Consolas作为他们的主要编程字体,但不幸的是,没有办法在Eclipse中更改行高,因此它看起来有点难看,如下所示:

在此输入图像描述

我想知道是否有人通过在线之间添加一些额外的空间或仅仅改变现在具有更高高度的字体本身来解决这个问题.

在Stackoverflow上与我们分享会很高兴.

我在搜索时发现了一些主题,但没有一个是我想要的:

  1. 如何在Eclipse中更改行高/行间距?
  2. /sf/ask/1060775691/?lq=1
  3. 等等...

他们中的一些人通过修改现有字体来设计他们自己的字体(例如Meslo字体),所以如果你可以分享你修改过的Consolas字体会很好.

eclipse fonts consolas

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