Avatar billede websam Nybegynder
07. marts 2006 - 15:52 Der er 11 kommentarer og
1 løsning

Generic spørgsmål .Net 2.0 ?

Hejsa,

jeg henter en bunke data og smidder det i en Generic.List med denne :

Dim objList As New List(Of NewsletterInfo.Info)
Do While Dr.Read
    objList.Add(New NewsletterInfo.Info(Convert.ToInt32(Dr("Id")), _
                                                Convert.ToInt32(Dr("UserLevel")), _
                                                Convert.ToString(Dr("Name")), _
                                                Convert.ToString(Dr("Email")), _
                                                Convert.ToString(Dr("GetLanguage")), _
                                                Convert.ToString(Dr("Ip")), _
                                                Convert.ToString(Dr("CheckSum")), _
                                              Convert.ToDateTime(Dr("TheDate"))))
Loop

derefter ryger det hele i en cache med denne :

Public Function GetAll() As List(Of NewsletterInfo.Info) Implements NewsletterBLLInterface.GetAll
    '--- Laver cache af arraylist
    Dim Source As List(Of NewsletterInfo.Info) = CType(HttpContext.Current.Cache("Newsletter"), List(Of NewsletterInfo.Info))
    If Source Is Nothing Then
        Source = objDAL.FindAll()
        HttpContext.Current.Cache("Newsletter") = Source
    Else
        HttpContext.Current.Cache("Newsletter") = Source
    End If
    Return Source
End Function

nu mangler jeg så bare at kunne lave en såkaldt Find på denne fine Generic.List, men hvordan gør jeg det ?

/Websam
Avatar billede coderdk Praktikant
07. marts 2006 - 16:26 #1
Avatar billede websam Nybegynder
07. marts 2006 - 16:37 #2
Fint men kan du hjælpe mig med at få det skrevet sammen med mit ovenfor så jeg kan se en sammenhæng ?

/Websam
Avatar billede websam Nybegynder
07. marts 2006 - 17:16 #3
Og så var det også mere med hensigt på at jeg skulle finde en record i listen hvor "id" = 3 eller alle hvor "bruger_id" = 1.

Jeg kan ikke helt se sammenhængen imellem det du sendte og det jeg skal bruge ?

/Websam
Avatar billede coderdk Praktikant
07. marts 2006 - 17:16 #4
Jeg give dig et lille eksempel i C# som jeg lige testede virkede - Ved ikke hvor pænt det er ;)

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        private static string searchWord;
        static void Main(string[] args)
        {
            List<string> test = new List<string>();
            searchWord = "nisse";
            test.Add("dotnet er godt");
            test.Add("hest er cool");
            test.Add("Det er nisse");
            Console.WriteLine("Found: " + test.Find(SearchString));
            Console.ReadLine();
        }

        private static bool SearchString(String s)
        {
            if (s.Contains(searchWord))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}
Avatar billede websam Nybegynder
07. marts 2006 - 17:28 #5
Nu ligger landet så sådan at jeg ikke fatter ret meget af det C# {} sprog :o(

Men skal jeg til at lave en metode der sender True/False retur for at få det til at virke ? For det virker da ikke for skarpt at jeg ikke bare kan trække direkte fra min function der jo retuneres som "As List(Of NewsletterInfo.Info)"

/Websam
Avatar billede coderdk Praktikant
07. marts 2006 - 17:41 #6
Hvis dit objekt implementerer IEnumerable kan du jo bare lave en funktion der itererer over samlingen og returnerer en ny List med det den har fundet?
Avatar billede websam Nybegynder
07. marts 2006 - 22:17 #7
IEnumerable, hvad er det ?

/Websam
Avatar billede coderdk Praktikant
07. marts 2006 - 22:47 #8
Så du kan bruge foreach() på din liste, men det kan du måske godt alligevel?
Avatar billede websam Nybegynder
07. marts 2006 - 22:57 #9
ja jeg kan godt lave en foreach.....next det er der ikke problemer med og det har jeg også gjort og så lavet en subliste ud fra min oprindelige liste.

Men er det den "rigtige" løsning på det ? For jeg mener at have læst et sted at jeg skulle kunne gøre det med "generics" mit største problem er blot at finde nogle eksempler hvor jeg får det i vb.

/Websam
Avatar billede websam Nybegynder
08. marts 2006 - 02:55 #10
smid et svar.
Avatar billede coderdk Praktikant
08. marts 2006 - 09:16 #11
Nej tak du :) Bare tag dem selv
Avatar billede websam Nybegynder
09. marts 2006 - 14:19 #12
Ok lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester