Obtenga valores distintos de una columna de DataTable en .NET 2.0

Alan B

Estoy trabajando en un proyecto heredado que se desarrolló utilizando .NET Framework 2.0. En este proyecto, obtengo valores distintos DataRowCollectionpor ItemNocolumna. Solo me interesa ItemNo. El DataRowconsisten de ItemNo, Qtyy Date.

Estoy pensando en iterar DataRowCollectiony agregar el único ItemNoen una lista de cadenas como se muestra a continuación (no probado)

var items =  new List<string>();
foreach (DataRow orderItem in rows)
{
     var itemNo = orderItem["ITEMNO"].ToString().Trim();
     if(items.Find(delegate(string str) { return str == itemNo ;}) == null)
     {
            items.Add(itemNo);
     }
 }

¿Hay una mejor manera de hacer esto sin LINQ (.Net Framework 2.0 no le gusta LINQ)?

Didaxis
// Given a data table:
var dt = new DataTable();
dt.Columns.Add("ITEMNO");
dt.Rows.Add("1 ");
dt.Rows.Add(" 1");
dt.Rows.Add("2");

var dict = new Dictionary<string, bool>();

foreach(DataRow dr in dt.Rows)
{
    var itemNo = dr["ITEMNO"].ToString().Trim();

    // Take advantage of O(1) lookup:
    if (!dict.ContainsKey(itemNo))
    {
        dict.Add(itemNo, true);
    }
}

// Get list from dictionary keys:
var items = new List<string>(dict.Keys);

Si puede instalar .Net 3.5 en el servidor y hacer referencia a System.Core.dll en su aplicación, puede aprovechar HashSets que modificarían el código anterior para:

var hashSet = new HashSet<string>();

foreach(DataRow dr in dt.Rows)
{
    var itemNo = dr["ITEMNO"].ToString().Trim();    

    // Only unique elements are added to the hash set, 
    // no need to check for duplicates
    hashSet.Add(itemNo);    
}

var items = new List<string>(hashSet);

El beneficio de usar HashSet sobre un diccionario es ciertamente trivial, pero lo preferiría ya que no me importa el valor bool arbitrario en el diccionario, pero debería cumplir con los requisitos de referencia y .Net 3.5.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Obtenga valores distintos de una columna de DataTable en .NET 2.0

Obtenga valores distintos de una columna basados en valores distintos en otra columna usando R

Obtenga filas basadas en valores distintos de la columna 2

Obtenga valores distintos de la columna PIVOT

Obtenga una lista de valores distintos en List

Oracle SQL: obtenga el recuento de valores de columna distintos basados en otra columna

Los n principales valores distintos de una columna en Oracle

¿Cómo obtengo valores de una columna en función de valores distintos de otra columna?

Obtenga valores distintos de una tabla en una consulta de combinación que contenga el tipo de datos de columna como ntext

Valores distintos de una columna ARRAY

Valores distintos de una columna ARRAY

MySQL: cuente valores distintos de una columna en función de otra columna

MySQL: cuente valores distintos de una columna en función de otra columna

Obtenga índices de columna para valores distintos de cero en cada fila en el marco de datos de pandas

Compilar todos los valores distintos de cero en una fila en una columna de cadena

Obtenga valores distintos de una matriz de objetos

Obtenga el recuento de valores distintos de una secuencia en F #

mysql: obtenga valores distintos de una unión de 2 consultas sql

Cree una medida para calcular el% de cambio a partir de valores distintos en una columna

Crear una lista a partir del marco de datos de pandas para valores distintos en una columna

Encuentre valores distintos en una columna si el marco de datos contiene una lista en columnas

Correlacionar valores distintos de cero en un conjunto de columnas con una columna final en R

Obtenga una columna de matriz basada en los valores de otra columna en PHP

Obtenga la cantidad de ID que tienen la misma combinación de valores distintos en la columna "ubicaciones".

Extraiga todos los valores distintos de cero de una columna

¿Cómo obtener valores en una columna de un DataTable?

SUMA una columna, luego RESTE la SUMA de otra columna y obtenga los valores 0 en lugar de los valores negativos

Pandas: valores comunes para una columna en particular en dos marcos de datos distintos

Obtenga el recuento de valores distintos en SQL

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Pagination class not getting applied in html

  3. 3

    Pandas의 CSV 파일을 Pandas 데이터 프레임으로 가져 오기

  4. 4

    Opción de máquina virtual no reconocida 'MaxPermSize = 512m' cuando se ejecuta Zeppelin

  5. 5

    OpenQA.Selenium.NoSuchElementException-C # 셀레늄

  6. 6

    OAuth 2.0 utilizando Spring Security + WSO2 Identity Server

  7. 7

    ¿Cómo pintar el Dropline de un RowHeader-JTable en el Main-JTable durante un DragAndDrop?

  8. 8

    Joindre avec des valeurs séparées par des virgules dans SQL Server Compact ne fonctionne pas

  9. 9

    Recherche de la position d'index d'une valeur dans r dataframe

  10. 10

    GPU를 사용하여 ffmpeg 필터의 처리 속도를 가속화하는 방법은 무엇입니까?

  11. 11

    caída condicional de filas desde un marco de datos de pandas

  12. 12

    python: ¿por qué dice variable indefinida cuando llamo función?

  13. 13

    Error: la ejecución falló para la tarea ': app: compileDebugJavaWithJavac'. java.io.FileNotFoundException:

  14. 14

    ¿Cómo especificar el puerto en el que se aloja una aplicación ASP.NET Core?

  15. 15

    Que signifie Decimal (-1)?

  16. 16

    Link library in Visual Studio, why two different ways?

  17. 17

    ¿Cómo determinar la menor cantidad de incrementos de Y necesarios para trazar un múltiplo de 5 en una gráfica?

  18. 18

    nested observables executed one after the other after termination

  19. 19

    uitableview delete button image in iOS

  20. 20

    C # cómo eliminar la última línea de un bucle

  21. 21

    R - ggplot2 - use raster as greyscale basemap

CalienteEtiquetas

Archivo