This vbnet code works, but UiPath and invoko code do not work, what should I do?
'Değişkenleri tanımlama
Dim malzemeKodu As String = “deger”
Dim adeFarki As Integer = 16
Dim veriler As New List(Of Dictionary(Of String, Object)) From {
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 5}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger2”}, {“Adet”, 20}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger3”}, {“Adet”, 15}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger4”}, {“Adet”, 3}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger5”}, {“Adet”, 2}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 10}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 20}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 3}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 8}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 10}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger6”}, {“Adet”, 22}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger7”}, {“Adet”, 25}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger8”}, {“Adet”, 30}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger9”}, {“Adet”, 35}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger10”}, {“Adet”, 40}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger11”}, {“Adet”, 45}}
}
’ Malzeme kodu ile filtreleme
Dim uygunVeriler = veriler.Where(Function(v) v(“malzemeKodu”).ToString() = malzemeKodu).ToList()
’ Kombinasyonları bulmak için yardımcı fonksiyon
Sub Kombinasyonlar(elemanlar As List(Of Dictionary(Of String, Object)), target As Integer, start As Integer, current As List(Of Dictionary(Of String, Object)), ByRef sonuc As List(Of Object), original As List(Of Dictionary(Of String, Object)))
Dim currentSum As Integer = current.Sum(Function(c) CInt(c(“Adet”)))
If currentSum = target Then
' Orijinal dizideki anahtarları bul
Dim keys = current.Select(Function(item) original.IndexOf(item)).ToList()
sonuc.Add(New Dictionary(Of String, Object) From {
{"kombinasyon", current},
{"keys", keys}
})
End If
For i As Integer = start To elemanlar.Count - 1
Kombinasyonlar(elemanlar, target, i + 1, current.Concat(New List(Of Dictionary(Of String, Object)) From {elemanlar(i)}).ToList(), sonuc, original)
Next
End Sub
Dim sonuc As New List(Of Object)()
Kombinasyonlar(uygunVeriler, Math.Abs(adeFarki), 0, New List(Of Dictionary(Of String, Object))(), sonuc, veriler)
’ Sonuçları yazdırma
If sonuc.Count > 0 Then
For Each item In sonuc
Console.WriteLine(“Kombinasyon:”)
For Each eleman In item(“kombinasyon”)
Console.WriteLine($“Malzeme Kodu: {eleman(“malzemeKodu”)}, Adet: {eleman(“Adet”)}”)
Next
Console.WriteLine()
Next
Else
Console.WriteLine(“Hiçbir kombinasyon bulunamadı.”)
End If