在最近的VB.NET项目中,我采用了我习惯在C#中使用的命名约定.也就是说,经常调用与它引用的类相同的变量,只有不同的情况,例如
Foo foo = new Foo(); // C#
Dim foo As New Foo() ' VB.NET
Run Code Online (Sandbox Code Playgroud)
我发现这通常是编写代码的最清晰的方法,特别是对于小方法.这种编码风格显然在C#中运行良好,区分大小写,并且由于Visual Studio提供的语法高亮,很容易看出类名和变量名是不同的.
然而,令我惊讶的是,在VB.NET中,这几乎在100%的时间内都能正常工作.唯一的问题是变量名称似乎具有多重身份.即它可以用于调用Foo类的实例方法和共享(静态)方法.这并没有真正引起任何问题,只是意味着Intellisense会在你点击''后提供包含静态和实例方法的列表.变量名后面.
我惊讶地发现,这实际上并没有导致我的项目出现任何混乱,到目前为止它已经非常成功了!但是,我是唯一一个从事这个特定项目的人.
这是一个稍长的例子:
Dim collection as Collection = New Collection()
For Each bar As Bar in Bar.All()
collection.SomeInstanceMethod(bar)
Next
collection.SomeSharedMethod()
Run Code Online (Sandbox Code Playgroud)
*我发现的唯一问题是,有时候'重命名'重构工具会混淆,即重命名一个类时,它会重命名与类同名的变量,在它们的声明行(Dim foo As...)中,但不是对该变量的其他引用,导致编译器问题(duh).这些总是很容易纠正.
另一个小烦恼是VB.NET语法高亮显示器没有突出显示类名与变量名的任何不同,使得它不如在C#中使用它时那么好.我仍然发现代码非常易读.
还有其他人试图在团队环境中允许这个吗?在VB.NET中这个命名约定是否还有其他潜在的问题?
我正在开发一个Macbook系统,它被格式化为不区分大小写的系统.问题是,我需要查看一个SVN分支,其中包含一些区分大小写的文件.例:
inbuilt-file.c
InBuilt-File.c
Run Code Online (Sandbox Code Playgroud)
当两个文件都在同一个文件夹中时,如何签出此分支?当我尝试结帐时,它给出了一个错误,指出该名称的无版本文件已经存在.
我发现,如果用户在电子邮件中注册并在我的电子邮件中使用大写字母,那么我会得到零.
例:
username = Dillan@example.com
params[:user][:email] = dillan@example.com
user = User.find_by_email(params[:user][:email])
user.nil?
Run Code Online (Sandbox Code Playgroud)
=>是的
如何在没有区分大小写问题的情况下搜索电子邮件,或者如何编写不区分大小写的find_by_email?
我试图在PostgreSQL 9.1中这样做:
SELECT m.id, vm.id, vm.value
FROM m
LEFT JOIN vm ON vm.m_id = m.id and vm.variation_id = 1
ORDER BY lower(trim(vm.value)) COLLATE "C" ASC LIMIT 10 OFFSET 120
Run Code Online (Sandbox Code Playgroud)
结果是:
id | id | value
----+-----+---------------
504 | 511 | "andr-223322"
506 | 513 | "andr-322223"
824 | 831 | "angHybrid"
866 | 873 | "Another thing"
493 | 500 | "App update required!"
837 | 844 | "App update required!"
471 | 478 | "April"
905 | 912 | …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个循环来创建目录并将文件移动到这些目录中,以便我可以按字母顺序对内容进行排序。这是我所拥有的:
for i in a b c d e f g h i j k l m n o p q r s t u v w x y z
do
mkdir $i
mv -i $i*.* ./$i/
done
ls
Run Code Online (Sandbox Code Playgroud)
问题是mv这个循环中的命令没有捕获大写文件名,我不想为大写和小写文件名创建目录。解决办法是什么?或者,如果您不想直接出来告诉我解决方案,我在哪里可以找到它?
我在谷歌上查看了一些东西,但没有找到可以使用的解决方案。我对 shell 脚本比较陌生,所以请解释您可能建议的任何解决方案,以便我理解并且以后不必问类似的问题。
我正在使用Laravel 4.1和Postgresql编写一个Web应用程序作为数据库.数据库区分大小写,但我想使其不区分大小写,因为,即当用户登录时,他应该能够使用大写或小写的电子邮件地址(如在其他所有网站中)访问.但是,密码哈希的列必须区分大小写,因为我使用的加密方法会生成区分大小写的字符串.
我正在使用Laravel的Eloquen ORM,所以我不直接编写查询.
我怎么解决这个问题?
提前致谢!
是否有任何类似于"array_intersect"的函数,但它在模式不区分大小写并忽略波浪线?
array_intersect PHP函数将数组元素与===进行比较,因此我没有得到预期的结果.
例如,我想要这个代码:
$array1 = array("a" => "gréen", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
Run Code Online (Sandbox Code Playgroud)
输出gréen和红色.在默认的array_intersect函数中,建议使用红色(正常原因===).
有解决方案吗
先感谢您
我想通过另一个表的记录搜索名称列表,我希望我的正则表达式不区分大小写,但我不能让它工作!
SELECT id
FROM "regexfreeFlickrFullInfo"
where tags ~ 'tower\s?\*?bridge' or title ~ 'tower\s?\*?bridge' or descriptio ~ 'tower\s?\*?bridge' order by id asc;
Run Code Online (Sandbox Code Playgroud)
这是我的查询,我已经通过我的测试,但它没有用!
有一些问题的问题旨在向列表框添加电子邮件别名.我有一个内置的检查,以确保您尝试添加的项目不在列表中,但检查是区分大小写,当我不希望它.我不知道如何让它忽略这个案例......这是我的代码:
Dim ItemToAdd as String = ""
ItemtoAdd = tbxItemtoAdd.Text + "@emaildomain.co.uk"
If Not lbxEmailAliases.Items.Contains(ItemtoAdd) Then
lbxEmailAliases.Items.Add(ItemtoAdd)
End If
Run Code Online (Sandbox Code Playgroud)
目前,如果列表框包含johnsmith24 @ emaildomain.co.uk,并且您尝试添加Johnsmith24(大写J),它将成功添加,但我不希望它这样做.如何让它忽略大小写?
我试图改变lbxEmailAliases.Items.Contains(ItemtoAdd)到lbxEmailAliases.Items.Contains(ItemtoAdd, StringComparison.CurrentCultureIgnoreCase),但它并不满意这点,因为有太多的争论,只会拿一个.
有什么想法吗?
我在管理数据库时将Sequelize与PostgreSQL一起使用。
我想执行不区分大小写的搜索查询。当我用Google搜索它时,有人说我可以使用“ iLike”运算符来实现。我试图以这种方式实现:
var getRadiosByGenre = function(Radio,Genre,genreName){
Genre.findOne({where:{name: { $iLike: genreName}}})}
Run Code Online (Sandbox Code Playgroud)
genreName是一个字符串。但是,我不断收到此错误:
错误:无效值{'$ iLike':'art'}
有谁知道将iLike与sequelize一起使用的正确方法?谢谢队友。:)
case-insensitive ×10
postgresql ×4
vb.net ×2
bash ×1
c# ×1
coding-style ×1
eloquent ×1
for-loop ×1
javascript ×1
laravel ×1
listbox ×1
node.js ×1
php ×1
regex ×1
sequelize.js ×1
shell ×1
slice ×1
sql ×1
sql-order-by ×1
string ×1
svn ×1
zsh ×1