为什么C#允许这样:
var s = "Nice";
switch (s)
{
case "HI":
break;
const string x = "Nice";
case x:
Console.Write("Y");
break;
}
Run Code Online (Sandbox Code Playgroud)
但不是这个:
var s = "Nice";
switch (s)
{
const string x = "Nice";
case x:
Console.Write("Y");
break;
}
Run Code Online (Sandbox Code Playgroud) 我最近在MySQL查询结束时一直在省略分号,而且我发现这可能会在服务器高负载,缓存等过程中产生负面影响.是否存在任何此类影响?
我和Laravel有一个奇怪的问题.
正常创建用户后,用户可以第一次登录,但在此之后,Auth::attempt
始终会失败.我只能通过代码更新用户密码再次登录,当我检查数据库时,所有密码都被正确哈希.
我似乎无法理解为什么会这样.这是我的代码
注册方法
$user = new User;
$user->username = Input::get('username');
$user->email = Input::get('email');
$user->password = Input::get('password');
$user->save();
$general = Role::find(3);
$user->roles()->attach($general->id);
Run Code Online (Sandbox Code Playgroud)
登录方式
$username = Input::get('username');
$pwd = Input::get('password');
if (!($pwd && $username)) {
return Redirect::intended('user/login')->withMessage('Emtpy username/password')->withInput();
}
if (Auth::attempt(array('username' => $username, 'password' => $pwd))){
return Redirect::intended('user/dashboard');
}
elseif (Auth::attempt(array('email' => $username, 'password' => $pwd))) {
return Redirect::intended('user/dashboard');
}
else {
return Redirect::intended('user/login')->withMessage('Incorrect username/password')->withInput();
}
Run Code Online (Sandbox Code Playgroud)
用户模型
public static function boot()
{
parent::boot();
static::saving(function($data) {
$data->password = …
Run Code Online (Sandbox Code Playgroud) 有没有办法运行基于条件语句的方法,如null-coalescing/ternary运算符?
有时,我的代码中有这样的东西:
if(Extender.GetSetting<string>("User") == null)
{
ConfigureApp();
}
else
{
loadUser();
}
Run Code Online (Sandbox Code Playgroud)
有没有办法可以有类似的东西:
Extender.GetSettings<string>("User")?? ConfigureApp() : loadUser();
Run Code Online (Sandbox Code Playgroud)
要么
Extender.GetSettings<string>("User") == null ? ConfigureApp() : loadUser();
Run Code Online (Sandbox Code Playgroud) 当我今天测试以下代码时,我感到很惊讶:
$star = "Aquarius";
$star = 11;
Run Code Online (Sandbox Code Playgroud)
在调试时,我观察到$star
只是从一个string
类型更改为integer
类型.我对此功能感到惊讶.例如,在C++中,这是不可能的,但在c#中我考虑了var变量,但它不一样.
例如,你做不到:
var dynamic = "Hello";
dynamic = 3;
Run Code Online (Sandbox Code Playgroud)
我开始想知道当我基本上说$ star = 11时究竟发生了什么.我的猜测是$star
简单地重新初始化,因为它被直接分配给(但这似乎很奇怪,因为解释器已经知道变量$star
已经被声明了) .任何人都可以帮助一些明确或官方的源支持解释吗?
谢谢.
我试图在我的 xml 中实现自动加密和解密,但它不仅有效,即数据未加密。可能是什么原因?我的代码如下所示。我正在使用XmlSerializer
课程。谢谢
[Serializable]
public class User
{
public string _username;
public string _password;
public string[] _roles;
[XmlIgnore]
public string Username
{
get { return _username; }
set { _username = value; }
}
[XmlIgnore]
public string Password
{
get { return _password; }
set { _password = value; }
}
[XmlIgnore]
public string[] Roles
{
get { return _roles; }
set { _roles = value; }
}
[OnDeserializingAttribute]
internal void DecryptPersonalData(StreamingContext context)
{
_username = Crypto.Decrypt(_username);
_password …
Run Code Online (Sandbox Code Playgroud) 当我想substring
在Java中查找字符串中的文本区域时,我提供了两个索引,一个用于start
,一个用于end
,但在C#中,我被迫提供substring
作为参数的长度,但是这个如果我不知道我应该停在哪里会成为一个问题,导致我有这样的事情:
verse[i].Substring(verse[i].IndexOf("start"), (verse[i].IndexOf("end") - verse[i].IndexOf("start"));
Run Code Online (Sandbox Code Playgroud)
而不仅仅是
verse[i].Substring(verse[i].IndexOf("start"), (verse[i].IndexOf("end"));
Run Code Online (Sandbox Code Playgroud)
令人讨厌的是,我一遍又一遍地遇到这个问题,我想知道我是唯一一个还是有一个我不知道的技巧.你最好怎么解决这个问题?(考虑到清洁度和速度)
ps:我不喜欢为几乎所有东西创建变量.谢谢
我有一个查询:
UPDATE messages SET Unread = 'N' WHERE id= '6'
Run Code Online (Sandbox Code Playgroud)
要读取受影响的行,我使用值ExecuteNonQuery()
,但即使没有更改,它也始终返回1.在这里看到了同样的问题.这是一个错误还是这种行为正常?
我知道这可能是一个微不足道的问题,但我只是想知道是否有任何优势,Button.PerformClick
而不是直接调用按钮的click事件.MSDN文档简单地说:
为按钮生成Click事件.
这是否意味着它只是调用按钮的click事件或者还有其他特殊优势吗?
我正在努力完成与此处所见相同的事情:
即假设你有一个像这样的文字:
<p>something</p>
<!-- OPTIONAL -->
<p class="sdf"> some text</p>
<p> some other text</p>
<!-- OPTIONAL END -->
<p>The end</p>
Run Code Online (Sandbox Code Playgroud)
什么是匹配的正则表达式:
<p class="sdf"> some text</p>
<p> some other text</p>
Run Code Online (Sandbox Code Playgroud)
<!-- OPTIONAL -->(.*?)<!-- OPTIONAL END -->
Run Code Online (Sandbox Code Playgroud)
但它没有正确匹配.此页面上接受的答案也不适用于我.我错过了什么?