1 55555 666666
2 444444 8888888
3 99999 7777
4 55555 666666
5 99999 7777
...
文本格式,輸出(同樣坐標的序號一行)
1,4
3,5
uj5u.com熱心網友回復:
Imports System.Text.RegularExpressions
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim query = From y In (
From x In TextBox1.Lines
Select New With {.v = String.Join(" ", x.Split(" ".ToArray(), StringSplitOptions.RemoveEmptyEntries).Skip(1)), .id = Split(x, " ")(0)}
)
Group y By y.v Into g = Group
Where g.Count() > 1
Select String.Join(",", From g1 In g Select g1.id)
TextBox2.Text = String.Join(vbCrLf, query)
End Sub
End Class
uj5u.com熱心網友回復:
using System;
using System.Collections.Generic;
namespace ConsoleApp1
{
class Program
{
static IDictionary<string, string> cachedDic = new Dictionary<string, string>();
static void Main(string[] args)
{
IList<dynamic> list = new List<dynamic>() {
new { Id= 1,Value ="55555 666666"},
new { Id= 2,Value ="444444 8888888"},
new { Id= 3,Value ="99999 7777"},
new { Id= 4,Value ="55555 666666"},
new { Id= 5,Value ="99999 7777"},
};
foreach (var item in list)
{
string key = item.Value;
string value = item.Id.ToString();
if (cachedDic.ContainsKey(key))
{
cachedDic[key] += value + ",";
}
else
{
cachedDic[key] = value + ",";
}
}
Console.ReadLine();
}
}
}
可以翻譯成 vb
uj5u.com熱心網友回復:
Sub Main()Console.WriteLine("粘貼文本檔案路徑:")
Dim srcP = Console.ReadLine()
Dim srcTxtEnum = My.Computer.FileSystem.ReadAllText(srcP).Replace(vbLf, "").Split(vbCrLf).Select(Function(s) New With {Key .id = s.Substring(0, 1), .location = s.Substring(1, s.Length - 1).Replace(Space(1), "")})
Dim EqualsEnum = srcTxtEnum.GroupBy(Function(s) s.location, Function(x, y) New With {Key .val = x, .count = y.Count}).Where(Function(r) r.count > 1).Select(Function(rlt) rlt.val)
Dim OutTxtList = New List(Of String)
EqualsEnum.ToList.ForEach(Sub(x)
Dim outRow = srcTxtEnum.Where(Function(r) r.location.Equals(x)).Select(Function(r) r.id)
OutTxtList.Add(String.Join(",", outRow))
End Sub)
OutTxtList.ForEach(Sub(r) Console.WriteLine(r))
Console.Read()
End Sub
uj5u.com熱心網友回復:
感謝,各位大神,vb.net的代碼能寫出來嗎?剛入門學習用,多謝了!uj5u.com熱心網友回復:
醉了,代碼不是在回復里嗎,你直接復制粘貼就可以了。
uj5u.com熱心網友回復:
多謝了!!!!!!!!
uj5u.com熱心網友回復:
感謝,各位大神,vb.net的代碼能寫出來嗎?剛入門學習用,多謝了!
我寫的就是vb.net啊
uj5u.com熱心網友回復:
對的沒錯,超級感謝
uj5u.com熱心網友回復:
1樓是正解,使用linq query更簡潔,我的代碼使用enumrable操作,繞了。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/133809.html
標籤:VB.NET
上一篇:c# linq 查詢問題。
