小编Ste*_*ves的帖子

是否可以从DateInterval对象中获取"interval_spec"字符串?

假设我有DateInterval的这个对象实例:

$obj=new DateInterval("P1Y12D");
Run Code Online (Sandbox Code Playgroud)

现在我可以用这个$obj实例做一些漂亮的事情,但是说我想"P1Y12D"从对象中获取该字符串,是否可以直接实现而无需覆盖类?

我没有找到一种方法,也许你这样做.

php string dateinterval

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

如何使用MongoDB和C#驱动程序查询数组是空还是空?

背景:

我需要完成的是,如果记录中的特定数组为null或为空,则删除集合中的所有记录.

据我所知,查找空数组的C#Driver查询是:

IMongoQuery query = Query.Exists("myArray", false);
Run Code Online (Sandbox Code Playgroud)

这对于检测空数组很好,但有时数组不会为null,但不会有任何元素.我需要的更像是:

// Note: second subquery will not work
IMongoQuery query = Query.Or(
    Query.Exists("myArray", false),
    Query.IsEmpty("myArray", false) // error
);
Run Code Online (Sandbox Code Playgroud)

模型:

我的班级看起来像:

public class MyClass
{
    // This property may be null or empty
    [BsonElement("myArray")]
    public string[] MyArray { get; set; }

    [BsonElement("someElement")]
    public int SomeElement{ get; set; }

}
Run Code Online (Sandbox Code Playgroud)

摘要:

  1. 我应该使用什么C#Driver方法来查询数组是否为空?
  2. 或者,检查数组是空还是空的最佳方法是什么?

任何有关这方面的帮助将不胜感激!:)

c# linq mongodb mongodb-.net-driver

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

初始化引用类型对象数组的简明方法

我想知道是否有更好的方法来初始化引用类型对象的数组,就像这样.

Queue<int>[] queues = new Queue<int>[10];
for (int i = 0; i < queues.Length; i++)
    queues[i] = new Queue<int>();
Run Code Online (Sandbox Code Playgroud)

我尝试了Enumerable.Repeat,但是数组中的所有元素都引用了同一个实例,

Queue<int>[] queues = Enumerable.Repeat(new Queue<int>(), 10).ToArray();
Run Code Online (Sandbox Code Playgroud)

我也尝试了Array.ForEach,但没有ref关键字它不起作用:

Queue<int>[] queues = Array.ForEach(queues, queue => queue = new Queue<int>());
Run Code Online (Sandbox Code Playgroud)

还有其他想法吗?

c# linq

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

从字符串中删除空格和特殊字符

如何从字符串中删除空格特殊字符?

谷歌搜索时我找不到一个答案.有很多与其他语言有关,但不是C.大多数人都提到使用正则表达式,这不是C标准(?).

删除简单空间很容易:

 char str[50] = "Remove The Spaces!!";
Run Code Online (Sandbox Code Playgroud)

然后是一个带有if语句的简单循环:

if (str[i] != ' ');
Run Code Online (Sandbox Code Playgroud)

输出将是:

RemoveTheSpaces!!
Run Code Online (Sandbox Code Playgroud)

我将什么添加到if语句中以便识别特殊字符并将其删除?

我对特殊字符的定义:

Characters not included in this list: 
A-Z a-z 0-9
Run Code Online (Sandbox Code Playgroud)

c string

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

SimpleMembershipProvider - 密码加密

我使用SimpleMembershipProvider作为我的数据库提供程序.

我已经添加了新功能来通过继承改进此提供程序.

现在我想创建一个像"ChangeEmail"这样的函数,但在此之前检查输入的密码是否正确.

所以我必须加密输入的密码并将结果与​​我的数据库中的条目进行比较.

问题是:

SimpleMembershipProvider以什么方式加密密码?

我试过了:

Crypto.HashPassword(currentPassword);
Run Code Online (Sandbox Code Playgroud)

结果在数据库中类似但不一样.

PasswordFormat属性设置为MembershipPasswordFormat.Hashed.

例如,注册时生成的"123456"哈希:

AIYlAKcmDaABMw1PVx1kheZq2KXkhVs4QjO7MnwfHPcTBjnmRobRqJzWYHYO/S4T7w==
Run Code Online (Sandbox Code Playgroud)

这通过Crypto.HashPassword:

AG+md+0W2EuV9BzUdohkYMK547jB5ochvxeVKYQTkls0UQ+3W0BWPHnFoffiIn2byw==
Run Code Online (Sandbox Code Playgroud)

它看起来像是相同类型的编码,但为什么结果不同?

c# authentication encryption asp.net-mvc

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

如何阅读cshtml文件的原始,未呈现的内容

我正在为ASP.Net MVC网站创建一个演示部分.我希望能够通过单击页面上的按钮显示页面的部分视图之一的Razor标记.为此,我将不得不直接从cshtml文件中获取Razor标记,并通过模型将其传递给视图.

如何做到这一点(特别是取出原始的,未渲染的剃刀标记)?我试图打开部分视图的cshtml文件的文件流,但视图的文件路径对我来说不直观:

FileStream fs = new FileStream("{what goes here?}/Views/Demos/SomePartialView.cshtml", FileMode.Open );
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc razor

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

如何制作连续的WebJob?

我创建了一个Azure WebJob,如以下脚本中所示,该脚本将项目从Azure存储队列中出列,然后将其存储到Azure表中.该过程在1或2秒内完成运行,但它在一分钟内仅运行几次(偶尔在大约10分钟内停止运行).总的来说,它不能很好地运作.

我错过了什么?也许我正在混合触发器工作和连续工作,但很难找到合适的样品.

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("started at {0}", DateTime.Now.ToString("s"));

        // Continuous job should have infinite loop.
        while(true){
            var host = new JobHost();
            host.RunAndBlock();
        }
    }

    public static void ProcessQueueMessage([QueueInput("blogqueue")] string json)
    {
        var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings    ["StorageConnectionString"].ConnectionString);
        var tableClient = storageAccount.CreateCloudTableClient();

        // Store it to Azure Table Storage
        // omitted...

        Console.WriteLine("Received JSON: {0}", json);
    }
Run Code Online (Sandbox Code Playgroud)

c# azure azure-webjobs

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

如何在后期回滚事务?

我有一个数据输入ASP.NET应用程序.在一个完整的数据输入期间,发生许多交易.我想跟踪所有这些事务,以便如果用户想要放弃数据条目,我可以回滚我保持记录的所有事务.

SQL 2008,Framework版本是4.0,我使用的是c#.

.net c# asp.net sql-server-2008

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

比较导致第三阵列的两个阵列

我有两个数组:

firstArray=[['AF','AFGHANISTAN'],['AL','ALBANIA'],['DZ','ALGERIA'],['AS','AMERICAN SAMOA']]
secondArray=[[1,'AFGHANISTAN'],[3,'AMERICAN SAMOA']]
Run Code Online (Sandbox Code Playgroud)

所以我只需要一个类似的数组

thirdArray=[[1,'AF'],[3,'AS']]
Run Code Online (Sandbox Code Playgroud)

我试过any(e[1] == firstArray[i][1] for e in secondArray) 它返回我的真假,如果两个数组的第二个元素匹配.但我不知道如何构建第三个数组.

python

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

关于扩展方法

ArgumentNullException当在null上调用扩展方法时,我总是需要抛出吗?(Enumerable投掷中的扩展方法ArgumentNullException.)我想澄清一下.如果答案是"是"和"否",请提供两种情况.

c# extension-methods c#-3.0

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

如何将列表分成几行?

我有一个由以下代码组成的列表:

[ self.directory + "/" + file for file in os.listdir(self.directory) ]
Run Code Online (Sandbox Code Playgroud)

当我打印出此列表时,它会出现在用逗号分隔的一行上。

如何拆分此列表,以便在打印时每个列出的项目都显示在自己的行上?

提前致谢

python

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

发送电子邮件异步

这是我尝试使用SendAsync()方法发送电子邮件.通过bool发送常规电子邮件时,它工作正常.使用SendAsync方法发送时没有骰子.如果你在这里看到错误,只是寻找一些提示.提前致谢.

private static void SendEmail(System.Net.Mail.MailMessage m, Boolean Async)
    {

    using (var smtpClient = new System.Net.Mail.SmtpClient(EmailList.SMTP_GOOGLE, 587))
            {
                smtpClient.EnableSsl = true;
                smtpClient.UseDefaultCredentials = false;
                smtpClient.Credentials = new NetworkCredential("email@domain.com","password");
                smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                smtpClient.Timeout = 3000000;


                if (Async)
                {
                    object userState = m;
                    smtpClient.SendCompleted += new SendCompletedEventHandler(Smtp_OnComplete);
                    try
                    {
                        smtpClient.SendAsync(m, userState);
                    }
                    catch (Exception ex)
                    {
                            //Logging

                    }
                }
                else
                {
                    try
                    {
                        smtpClient.Send(m);
                    }
                    catch (Exception ex)
                        //Logging

                    }
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# asp.net email asynchronous

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

为什么管理员权限不允许我以编程方式禁用UAC?

我正在尝试制作一个基本检查程序来进行黑客攻击.黑客入侵代码,并需要确保禁用UAC.有没有一种特殊的方式我必须用Windows 8做到这一点?

************** Exception Text **************
System.UnauthorizedAccessException: Cannot write to the registry key.
   at System.ThrowHelper.ThrowUnauthorizedAccessException(ExceptionResource resource)
   at Microsoft.Win32.RegistryKey.EnsureWriteable()
   at Microsoft.Win32.RegistryKey.SetValue(String name, Object value, RegistryValueKind valueKind)
   at Microsoft.Win32.RegistryKey.SetValue(String name, Object value)
   at Basic_Checker.Form1.linkLabel5_LinkClicked(Object sender, LinkLabelLinkClickedEventArgs e) in C:\Users\Jennifer\Documents\Visual Studio 2010\Projects\BasicChecker v1.1\BasicChecker\Form1.cs:line 386
   at System.Windows.Forms.LinkLabel.OnLinkClicked(LinkLabelLinkClickedEventArgs e)
   at System.Windows.Forms.LinkLabel.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Label.WndProc(Message& m)
   at System.Windows.Forms.LinkLabel.WndProc(Message& msg)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded …
Run Code Online (Sandbox Code Playgroud)

c# uac windows-8

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