小编SLa*_*aks的帖子

Interlocked.Increment的性能

Interlocked.Increment(ref x)不是更快或更慢x++的在各种平台上整数和长?

.net performance interlocked interlocked-increment

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

需要设置控件锚属性

我的一个窗口构成了很多控件,我需要在顶部和右边设置锚属性.注意:我需要为每个控件独立处理位置属性.我不想手动设置此属性.需要帮助动态设置控件的锚属性.

我写了下面的语法

 DynamicControlsProperty od = new DynamicControlsProperty();
    foreach (Control item in this.controls)
    {
        item.Anchor = AnchorStyles.None;
        item.Anchor = (AnchorStyles.Top | AnchorStyles.Right);
    }
Run Code Online (Sandbox Code Playgroud)

在我的窗口窗体上使用上面的语法,控件不会在上面的语法中显示为锚点.控件显示为默认锚点集.

c# winforms

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

C#中的"只读"属性访问器

我有以下课程:

class SampleClass
{
   private ArrayList mMyList;

   SampleClass()
   {
       // Initialize mMyList
   }

   public ArrayList MyList
   {
       get { return mMyList;}
   }
}
Run Code Online (Sandbox Code Playgroud)

我希望用户能够获得mMyList,这就是我通过属性公开"获取"的原因,但是我不希望他们对对象做出更改(即.MyList.Add(new Class());)以使其成为回到我班上的路.

我想我可以返回对象的副本,但这可能很慢,我正在寻找一种方法,它将提供编译时错误,通知用户他们不应该期望能够修改返回的值属性.

这可能吗?

.net c# properties accessor readonly

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

使用jQuery将html添加到div

我正在尝试使用jQuery向id幻灯片添加一些额外的html到div.我的代码:

$("#slideshow").append("<a id="prev" title="Previous Slide">Previous Slide</a><a id="next" title="Next Slide">Next Slide</a>");
Run Code Online (Sandbox Code Playgroud)

这不起作用,谁能告诉我我做错了什么?

javascript string jquery

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

如何将Youtube视频嵌入HTML5 <video>标签?

我正在实施网站,我需要将YouTube视频嵌入到HTML5中的标记中.你能告诉我如何在不使用的情况下将其嵌入其中<iframe>

youtube html5 youtube-api

19
推荐指数
2
解决办法
6万
查看次数

COM Interop没有regasm

我是一个有限的用户,我需要编写一个Outlook宏来展示Outlook 2003和2007中的C#库.

我根本没有任何管理员权限,即使在安装时也没有,所以我无法运行RegAsm,我不能(我假设)编写一个托管加载项.

在这种情况下,有没有办法从VBA调用.Net代码,还是有其他解决方案?

这仅供个人使用,所以丑陋的黑客是完全可以接受的(只要它有效)

.net outlook vba com-interop limited-user

18
推荐指数
3
解决办法
8302
查看次数

在web.config中进行表单身份验证

我正在使用MVC3并将用户身份验证放在web.config文件中.这是绕过sqlserver身份验证.

web.config中的代码如下:

<authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" >
        <credentials passwordFormat="Clear">
          <user name="test123" password="test123" />
        </credentials>
      </forms>
</authentication>
Run Code Online (Sandbox Code Playgroud)

我尝试使用提到的用户ID和密码登录,我在页面中收到错误

登录失败.请更正错误,然后重试.

* The user name or password provided is incorrect.
Run Code Online (Sandbox Code Playgroud)

当我调试到AccountController.cs文件时,失败的MembershipService.ValidateUser(model.UserName, model.Password)方法.

authentication asp.net-mvc

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

为什么值类型不能为null

我知道可以使用Nullable值类型来包装值类型并提供存储null的能力.但有一个技术原因是不允许值类型为null或原因只是概念性的?

.net c# clr null value-type

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

使用jQuery克隆和重命名表单元素

我正在寻找一种克隆/重命名或重新创建地址字段的有效方法,以提供在同一页面上提交多个地址的能力.所以使用这样的表单示例:

<div id="addresses">
  <div class="address">
    <input type="text" name="address[0].street">
    <input type="text" name="address[0].city">
    <input type="text" name="address[0].zip">
    <input type="text" name="address[0].state">
  </div>
</div>
<a href="" id="add_address">Add address form</a>
Run Code Online (Sandbox Code Playgroud)

根据我的理解,有两种选择:

  1. 按字段重新创建表单字段并递增索引,这是一种详细的:

    var index = $(".address").length;
    
    $('<`input`>').attr({
    name: 'address[' + index + '].street',
    type: 'text'
    }).appendTo(...);
    
    $('<`input`>').attr({
    name: 'address[' + index + '].city',
    type: 'text'
    }).appendTo(...);
    
    $('<`input`>').attr({
    name: 'address[' + index + '].zip',
    type: 'text'
    }).appendTo(...);
    
    $('<`input`>').attr({
    name: 'address[' + index + '].state',
    type: 'text'
    }).appendTo(...);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 克隆现有图层并替换克隆中的名称:

    $("div.address").clone().appendTo($("#addresses"));
    
    Run Code Online (Sandbox Code Playgroud)

你建议使用哪一个更高效,如果它的#2可以请你建议我如何进行搜索并用[1]([n])替换所有出现的[0].谢谢.

jquery

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

Code Golf:数字范围

挑战

通过用范围替换连续运行来压缩一长串数字.

输入

1, 2, 3, 4, 7, 8, 10, 12, 13, 14, 15
输入保证按升序排列,不包含重复项.

产量

1 - 4, 7, 8, 10, 12 - 15
请注意,两个数字的范围应保持不变.(7, 8;不是7 - 8)

规则

您可以接受整数(或等效数据类型)的排序列表作为方法参数,从命令行或标准输入.(选择哪个选项导致更短的代码)
您可以通过打印它们或通过返回来输出字符串列表单个字符串或一组字符串.

参考实施

(C#)

IEnumerable<string> Sample(IList<int> input) {
    for (int i = 0; i < input.Count; ) {
        var start = input[i];
        int size = 1;
        while (++i < input.Count && input[i] == start + size)
            size++;

        if (size == 1)
            yield return start.ToString();
        else …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf

17
推荐指数
2
解决办法
1456
查看次数