假设我有DateInterval的这个对象实例:
$obj=new DateInterval("P1Y12D");
Run Code Online (Sandbox Code Playgroud)
现在我可以用这个$obj实例做一些漂亮的事情,但是说我想"P1Y12D"从对象中获取该字符串,是否可以直接实现而无需覆盖类?
我没有找到一种方法,也许你这样做.
背景:
我需要完成的是,如果记录中的特定数组为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)
摘要:
任何有关这方面的帮助将不胜感激!:)
我想知道是否有更好的方法来初始化引用类型对象的数组,就像这样.
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.大多数人都提到使用正则表达式,这不是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) 我使用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)
它看起来像是相同类型的编码,但为什么结果不同?
我正在为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) 我创建了一个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) 我有一个数据输入ASP.NET应用程序.在一个完整的数据输入期间,发生许多交易.我想跟踪所有这些事务,以便如果用户想要放弃数据条目,我可以回滚我保持记录的所有事务.
SQL 2008,Framework版本是4.0,我使用的是c#.
我有两个数组:
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)
它返回我的真假,如果两个数组的第二个元素匹配.但我不知道如何构建第三个数组.
ArgumentNullException当在null上调用扩展方法时,我总是需要抛出吗?(Enumerable投掷中的扩展方法ArgumentNullException.)我想澄清一下.如果答案是"是"和"否",请提供两种情况.
我有一个由以下代码组成的列表:
[ self.directory + "/" + file for file in os.listdir(self.directory) ]
Run Code Online (Sandbox Code Playgroud)
当我打印出此列表时,它会出现在用逗号分隔的一行上。
如何拆分此列表,以便在打印时每个列出的项目都显示在自己的行上?
提前致谢
这是我尝试使用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) 我正在尝试制作一个基本检查程序来进行黑客攻击.黑客入侵代码,并需要确保禁用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# ×9
asp.net ×2
asp.net-mvc ×2
linq ×2
python ×2
string ×2
.net ×1
asynchronous ×1
azure ×1
c ×1
c#-3.0 ×1
dateinterval ×1
email ×1
encryption ×1
mongodb ×1
php ×1
razor ×1
uac ×1
windows-8 ×1