我很抱歉提出这么厚的问题。我需要使用vb.net对字符串中的字符进行排序。
我通常使用C#。
这是我的代码:
Dim val1() As Char = txtInput.Text.Trim.ToArray
val1 = val1.OrderBy(c >= c).ToArray()
告诉我'c'没有被宣布。
我导入了这些:
Imports System.Collections.Generic
Imports System.Linq
请告诉我我做错了什么?
谢谢,
答案 0 :(得分:1)
您仍然在使用c#语法为您的lambda表达式。有关vb。
中Lambda表达式的详细信息,请参阅http://msdn.microsoft.com/en-us/library/bb531253.aspx在你的情况下,它就像
一样简单<table width="100%" border="0" cellspacing="0" cellpadding="0" id="table-data">
<tr>
<td>Name</td>
<td>Location</td>
<td>From</td>
<td>To</td>
<td>Add</td>
</tr>
<tr id="id1" class="tr_clone">
<td><input type="text" autofocus placeholder="who" name="who" id="who1" ></td>
<td><select name="txtCategory[]" id="category1">
<option value="">Please select</option>
</select></td>
<td><input type="text" placeholder="Start Date" name="datepicker_start" class="datepicker" id="datepicker_start1"></td>
<td><input type="text" placeholder="End Date" name="datepicker_end" class="datepicker" id="datepicker_end1"></td>
<td><input type="button" name="add" value="Add" class="tr_clone_add"></td>
</tr>
</table><!-- /table#table-data -->
var regex = /^(.*)(\d)+$/i;
var cindex = 1;
$("input.tr_clone_add").on('click', function() {
var $tr = $(this).closest('.tr_clone');
var $clone = $tr.clone(true);
cindex++;
$clone.find(':text').val('');
//update ids of elements in row
$clone.find("*").each(function() {
var id = this.id || "";
var match = id.match(regex) || [];
if (match.length == 3) {
this.id = match[1] + (cindex);
}
});
$tr.after($clone);
});
答案 1 :(得分:1)
要对字符串的字符进行排序,结果为字符串:
Dim s As String = txtInput.Text.Trim.OrderBy(Function(c) c).ToArray
如果你想让结果成为一个字符数组:
Dim val1() As Char = txtInput.Text.Trim.OrderBy(Function(c) c).ToArray
答案 2 :(得分:1)
或者你不需要Linq或lambda来做这件事。您可以使用ToCharArray
并对该数组进行排序(
Dim chars = someString.ToCharArray
Array.Sort(chars)