小编Ale*_*der的帖子

告诉YUI压缩器保留我的调试器; 声明

我正在尝试使用该debugger;语句在Firefox中调试JS,但YUI Compressor正在干扰.

在未压缩的文件中,但在压缩文件中不会发生Firefox的完全暂停.对于调试,我想使用该debugger;语句,因为当YUI将所有内容整齐地放入一行时,手动设置断点是不可能的.

现在,YUI debugger;从源代码中删除了该语句.

有没有办法保留debugger;声明?

debugging yui-compressor

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

使用字典代替List - 获取ith条目

也许我现在只是在愚蠢的时刻.我有以下内容:

List<DirectoryEntry> list = new List<DirectoryEntry>();
List.Add(startEntry);
int i=0;
while(i < list.Count) {
    DirectoryEntry entry = list[i];
    foreach(DirectoryEntry child in GetChildEntries(entry)) {
        if(!list.Contains(child)) // Do not add if entry already in list!
            list.Add(child);
    }
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为Contains以两种方式为指向同一AD对象的directoryEntries返回false.

所以我想从那里创建一个Dictionary并将distinguishedName和条目一起存储:

Dictionary<string,DirectoryEntry> list = new Dictionary<string,DirectoryEntry>();
List.Add(startEntry.Properties["distinguishedName"].Value,startEntry);
int i=0;
while(i < list.Count) {
    DirectoryEntry entry = list[i]; // Does not work, because the index is a string here.
                                    // How to get the ith entry from the dictionary?
    foreach(DirectoryEntry child in GetChildEntries(entry)) {
        var …
Run Code Online (Sandbox Code Playgroud)

c# dictionary while-loop

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

多个同名参数

考虑以下 ApiController:

public class SomeController : ApiController
{
    [HttpGet]
    public class SomeFunction(int someVal = 0) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这按预期工作:

http://myserver/myApp/Some/SomeFunction?someVal=0
Run Code Online (Sandbox Code Playgroud)

但是当它被调用时我遇到了这个函数的问题

http://myserver/myApp/Some/SomeFunction?someVal=0&someVal=0
Run Code Online (Sandbox Code Playgroud)

现在我试图了解当时和那里发生的事情。我没有收到错误消息,但函数的输出与预期不同。

asp.net-web-api

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

在不知道数据类型的情况下更改列(空 -&gt; 非空)

是否有可能在不知道列的实际数据类型的情况下将列从“允许为空”更改为“不允许为空”?

我认为不是,所以我为我的存储过程制作了基本框架代码:

SELECT t.name,c.max_length FROM sys.types t 
LEFT JOIN sys.columns c ON(t.system_type_id = c.system_type_id) 
WHERE object_id=OBJECT_ID(@TableName) AND c.name=@FieldName;
Run Code Online (Sandbox Code Playgroud)

EXEC('UPDATE ' + @TableName + ' SET ' + @FieldName + ' = ' + @DefaultValue + ' WHERE ' + @FieldName + ' IS NULL');
EXEC('ALTER TABLE ' + @TableName + ' ALTER COLUMN ' + @FieldName + ' NOT NULL');
Run Code Online (Sandbox Code Playgroud)

我想现在我只需要将第一个查询的返回值返回到第二个查询中。我无法理解如何将值放入变量然后再次访问它们。有想法吗?

sql-server

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

IEnumerable:在匹配谓词的最后一个之前获取所有内容

我有IEnumerable<int>这样的,只有更长的时间:

5, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 6, 0, 0, 0, 0, 0
Run Code Online (Sandbox Code Playgroud)

现在我想在最后一个非零值之前返回所有元素:

5, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0
Run Code Online (Sandbox Code Playgroud)

这似乎sequence.Last()没有帮助,因为它返回最后一次出现,而不是最后一次出现的索引.

我曾经想过要用

var lastIndex = sequence.LastIndex(x=>x!=0);
subsequence = sequence.Take(lastIndex);
Run Code Online (Sandbox Code Playgroud)

这将适用于一般情况,但LastIndex不存在,或

var last = sequence.Last(y=>y!=0);
subsequence = sequence.TakeWhile(x=>x!=last)
Run Code Online (Sandbox Code Playgroud)

这将适用于该示例,但不是在一般情况下,可能存在重复的非零值.

有任何想法吗?

c# linq

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

IDisposable - 在没有外部引用的情况下在课堂上处理什么?

我有小帮手班.这些类在内部用于确保某些类型的字符串始终具有适当的格式(邮件地址,电话号码,ID,URL,键,颜色......).

我想将它们放入使用块中,以便能够回收变量名称:

using(Id id = ids.First())
{
    Container container = containers.getById(id);
    ...
}
foreach(Id id in ids.Skip(1))
{
    Container container = containers.getById(id);
    ...
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,Visual Studio要求我将这些类标记为Disposable,我做了,但我不知道如何处理方法存根.我们以"邮件地址"类为例:

public class MailAddress : IEquatable<MailAddress>, IDisposable
{
    const string MAILADDRESSPATTERN = ...
    protected string _address;
    public MailAddress(string address)
    {
        if (address == null) throw new ArgumentNullException("address");
        if (!Regex.IsMatch(address, MAILADDRESSPATTERN)) throw new ArgumentException("address");
        this._address = address.ToLower();
    }

    bool IEquatable<MailAddress>.Equals(MailAddress other)
    ...
    public override int GetHashCode()
    ...
    ...
    ...
    public override string ToString()
    ... …
Run Code Online (Sandbox Code Playgroud)

c# dispose

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

EWS获取邮箱类型(用户/资源/共享)

只给一个电子邮件地址,我连接到收到发送到该地址的电子邮件的邮箱:

ews.autodiscoverUrl(email);
var m = new Mailbox(email);
var folderId = new FolderId(WellKnownFolderName.Inbox, m);
var folder = Folder.Bind(ews,folderId);
Run Code Online (Sandbox Code Playgroud)

有没有办法找出我打开的邮箱类型 - 无论是用户,资源还是共享邮箱?

c# exchangewebservices

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

在LINQ中解压缩压缩列表

在我们有一个严格规范的界面

int[] userIdList; // ids of all users to display
string[] userNameList; // names of all users to display
Run Code Online (Sandbox Code Playgroud)

具有userIdList [i]始终包含名为userNameList [i]的用户的ID的限制.

新要求是按名称对用户进行排序:我将采用这两个列表,按名称排序,并返回上述限制仍然存在的两个列表.

当然我可以自己实现一个排序函数,但我认为单行linq语句可以做得更好吗?我起床了

userNameList.Zip(userIdList, (name, id) => new {name, id}).OrderBy(a=>a.name).
Run Code Online (Sandbox Code Playgroud)

但现在我不知道如何再次解压缩列表......

c# sorting

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

这个构造函数语法的名称是什么?

我习惯了这种语法:

DirectorySearcher ds = new DirectorySearcher(forestEntry,filter);
Run Code Online (Sandbox Code Playgroud)

这个语法:

DirectorySearcher ds = new DirectorySearcher();
ds.SearchRoot = forestEntry;
ds.Filter = filter;
Run Code Online (Sandbox Code Playgroud)

他们都只使用不同的构造函数,没有.1只能工作,因为存在2参数构造函数,而不存在.2仅适用,因为SearchRoot和Filter在构造后不是只读的.

现在我得到了这种语法的代码:

DirectorySearcher ds = new DirectorySearcher
                           {
                               SearchRoot = forestEntry,
                               Filter = filter
                           };
Run Code Online (Sandbox Code Playgroud)

这应该与上面的示例相同,但调用哪个Constructor以及程序如何继续?这种语法有特殊名称吗?我必须添加到我自己的类中才能像这样构建它们?

c# constructor

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

生成已退出,代码为1

使用WiX Toolset构建自定义操作DLL时,总是出现错误:

命令““ C:\ Program Files(x86)\ WiX Toolset v3.8 \ bin .. \ sdk \ MakeSfxCA.exe”“ Z:\ backend \ SetupParseConnStr \ obj \ x86 \ Debug \ InstallerCA.CA.dll”“ C:\ Program Files(x86)\ WiX Toolset v3.8 \ bin .. \ sdk \ x86 \ SfxCA.dll“”“ Z:\ backend \ SetupParseConnStr \ obj \ x86 \ Debug \ InstallerCA.dll”“ C:\ Program文件(x86)\ WiX Toolset v3.8 \ SDK \ Microsoft.Deployment.WindowsInstaller.dll; C:\ Windows \ assembly \ GAC_MSIL \ Microsoft.Exchange.WebServices \ 15.0.0.0__31bf3856ad364e35 \ Microsoft.Exchange.WebServices.dll; Z :\ backend \ …

c# wix

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