Otra de las mias jejje traspasar datos condicionados de una variable a otras

Iniciado por luis456, 3 Marzo 2015, 23:07 PM

0 Miembros y 1 Visitante están viendo este tema.

Eleкtro

Cita de: luis456 en  8 Marzo 2015, 12:50 PMtodavía no he logrado hacer lo que en principio quería hacer, que era dividir la colección principal en variables con cuatro números  cada una

¿Cómo que no?:

Citar
Código (vbnet) [Seleccionar]
Dim parts As Integer = 4
Dim splittedCols As IEnumerable(Of IEnumerable(Of Integer)) =
    From index As Integer In Enumerable.Range(0, CInt(Math.Ceiling(mainCol.Count() / parts)))
    Select mainCol.Skip(index * parts).Take(parts)


Cita de: luis456 en  8 Marzo 2015, 12:50 PMpara yo después con cada variable con los números asignados poder concatenar las que yo quiera entre ellas y mostrar ese resultado en un listbox

dim combination as ienumerable(of integer) = splittedCols(Índice).Concat(splittedCols(Índice))

¿eso?

Saludos




EDITO:
Te pondré el primer problema más fácil con esta función genérica (lee el ejemplo de uso):

Código (vbnet) [Seleccionar]
   ''' <remarks>
   ''' *****************************************************************
   ''' Snippet Title: Split Collection Into Parts
   ''' Code's Author: Elektro
   ''' Date Modified: 08-March-2015
   ''' Usage Example:
   ''' Dim mainCol As IEnumerable(Of Integer) = {1, 2, 3, 4, 5, 6, 7, 8, 9}
   ''' Dim splittedCols As IEnumerable(Of IEnumerable(Of Integer)) = SplitColIntoParts(mainCol, amount:=4)
   ''' splittedCols.ToList.ForEach(Sub(col As IEnumerable(Of Integer))
   '''                                 Debug.WriteLine(String.Join(", ", col))
   '''                             End Sub)
   ''' *****************************************************************
   ''' </remarks>
   ''' <summary>
   ''' Splits an <see cref="IEnumerable(Of T)"/> into the specified amount of parts.
   ''' </summary>
   ''' <typeparam name="T"></typeparam>
   ''' <param name="collection">The collection to split.</param>
   ''' <param name="amount">The parts amount.</param>
   ''' <returns>IEnumerable(Of IEnumerable(Of T)).</returns>
   Public Shared Function SplitColIntoParts(Of T)(ByVal collection As IEnumerable(Of T),
                                                  ByVal amount As Integer) As IEnumerable(Of IEnumerable(Of T))

       Return From index As Integer
              In Enumerable.Range(0, CInt(Math.Ceiling(collection.Count() / amount)))
              Select collection.Skip(index * amount).Take(amount)

   End Function








luis456

Jo cada ves me vuelvo mas loco , te paso lo que estoy tratando de hacer de una forma que me sea mas facil

Código (vbnet) [Seleccionar]
   Dim numbers() As Integer = {0, 1, 2, 3, 4, 5, 6, 10, 15, 20, 25, 30, 35, 45} <---estos numeros cambian o son mas o son menos cantidad


quiero poner esos numeros en estas variables ??
a= 1 2 3 4
b= 3 5 10 15
c= 20 25 30 35


Dim Result As IEnumerable(Of Integer) =
            (a.Concat(b.Concat(c))).          <---------------para concatenar a +b c+a etc cada ves que quiera
            Distinct.
           


ListBox4.Items.AddRange(Resul.Cast(Of Object).ToArray)


Gracias
Luis
Que tu sabiduria no sea motivo de Humillacion para los demas

Eleкtro

ahá, ¿y que relacion hay entre el patrón que sigue "a", y el que sigue "b"?.








luis456

Cita de: Eleкtro en  8 Marzo 2015, 15:55 PM
ahá, ¿y que relacion hay entre el patrón que sigue "a", y el que sigue "b"?.

Ninguno  puse eso sin tomar en cuenta que era correlativo jejje se supone que es a+c y como son muchos numeros que da la funcion son muchas las variables y lo puse corto
y seria como esto

A + C
A + D
B + C
B + D 
C + D

o mas cuando lo termine (no pongo todos ) :)


1   .-   (   A   +   C   +   D   )
2   .-   (   A   +   B   +   D   )
3   .-   (   A   +   B   +   E   )
4   .-   (   A   +   B   +   F   )
5   .-   (   A   +   B   +   G   )
6   .-   (   A   +   B   +   H   )
7   .-   (   A   +   C   +   D   )
8   .-   (   A   +   C   +   E   )
9   .-   (   A   +   C   +   F   )
10   .-   (   A   +   C   +   G   )
11   .-   (   A   +   C   +   H   )
12   .-   (   A   +   D   +   E   )
13   .-   (   A   +   D   +   F   )
14   .-   (   A   +   D   +   G   )
15   .-   (   A   +   D   +   H   )
16   .-   (   A   +   E   +   F   )
17   .-   (   A   +   E   +   G   )
18   .-   (   A   +   E   +   H   )
19   .-   (   A   +   F   +   G   )
20   .-   (   A   +   F   +   H   )
21   .-   (   A   +   G   +   H   )
22   .-   (   B   +   C   +   D   )
23   .-   (   B   +   C   +   E   )
24   .-   (   B   +   C   +   F   )
25   .-   (   B   +   C   +   G   )
26   .-   (   B   +   C   +   H   )
27   .-   (   B   +   D   +   E   )
28   .-   (   B   +   D   +   F   )
29   .-   (   B   +   D   +   G   )
30   .-   (   B   +   D   +   H   )
31   .-   (   B   +   E   +   F   )
32   .-   (   B   +   E   +   G   )
33   .-   (   B   +   E   +   H   )
34   .-   (   B   +   F   +   G   )
35   .-   (   B   +   F   +   H   )
36   .-   (   B   +   G   +   H   )
37   .-   (   C   +   D   +   E   )
38   .-   (   C   +   D   +   F   )
39   .-   (   C   +   D   +   G   )
40   .-   (   C   +   D   +   H   )
41   .-   (   C   +   E   +   F   )
42   .-   (   C   +   E   +   G   )
43   .-   (   C   +   E   +   H   )
44   .-   (   C   +   F   +   G   )
45   .-   (   C   +   F   +   H   )
46   .-   (   C   +   G   +   H   )
47   .-   (   D   +   E   +   F   )
48   .-   (   D   +   E   +   G   )
49   .-   (   D   +   E   +   H   )
50   .-   (   D   +   F   +   G   )
51   .-   (   D   +   F   +   H   )
52   .-   (   D   +   G   +   H   )
53   .-   (   E   +   F   +   G   )
54   .-   (   E   +   F   +   H   )
55   .-   (   E   +   G   +   H   )
56   .-   (   F   +   G   +   H   )
etec etec etec



Luis

Que tu sabiduria no sea motivo de Humillacion para los demas