使用Linq和VB.NET

时间:2015-06-17 11:20:12

标签: vb.net linq

我很抱歉提出这么厚的问题。我需要使用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

请告诉我我做错了什么?

谢谢,

3 个答案:

答案 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)