Vinnaren i pepparkakshustävlingen!
2016-02-28, 16:25
  #1
Medlem
Rabbahs avatar
Jag håller på och försöker skapa ett program som genom Streamreder sparar användarens namn & poäng. Jag förstår inte riktigt hur jag skall kunna knyta ihop namnet med poängen som sedan sparas på samma rad i textfilen. attempts som är antal försök användaren gissa..

Hållit på länge nu och försökt sätta samman namn + försök => list => textfil eller nam + försök => textfil.


Hur slås egentligen namn och försök(attempts) samman under ett StreamReader kommando?
__________________
Senast redigerad av Rabbah 2016-02-28 kl. 16:30.
Citera
2016-02-28, 16:58
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av Rabbah
Jag håller på och försöker skapa ett program som genom Streamreder sparar användarens namn & poäng. Jag förstår inte riktigt hur jag skall kunna knyta ihop namnet med poängen som sedan sparas på samma rad i textfilen. attempts som är antal försök användaren gissa..

Hållit på länge nu och försökt sätta samman namn + försök => list => textfil eller nam + försök => textfil.


Hur slås egentligen namn och försök(attempts) samman under ett StreamReader kommando?
Det du letar efter kallas serialization och går att göra på olika sätt, antingen som XML-data, jsondata eller binärdata.

Kolla på http://stackoverflow.com/questions/6...t-to-from-file så finner du exempel på hur du kan serialisera objekt för att spara dessa på fil, alternativt om du vill göra det enkelt för dig tar du dig en titt på https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx för ett exempel på serialisering till XML-data.

Det kanske verkar mer omständigt än att spara det i en textfil rätt och slätt, men fördelen är att du direkt kan spara state i ditt objekt och sedan läsa tillbaka det som ett objekt utan att använda egen customkod för att försöka parsa ut nåt kommaseparerat jox eller så.
Citera
2016-02-28, 17:41
  #3
Medlem
Rabbahs avatar
Tack för ditt svar.

Men är det inte omständigt att jag måste serialisera objekten bärt innan de läggs till i textfilen / xml ?


Finns det ingen metod som lagar namn + attemps till ett objekt?

Tänker att jag härifrån skickar objektet till listan. Sedan kopierar listan till textfilen.

Alternativt två att objektet flyttas över till texfilen direkt.

Var inne och läste men upplevde det alltför avancerat nu.
Citera
2016-02-28, 17:49
  #4
Medlem
tj.s avatar
Citat:
Ursprungligen postat av Rabbah
Tack för ditt svar.

Men är det inte omständigt att jag måste serialisera objekten bärt innan de läggs till i textfilen / xml ?


Finns det ingen metod som lagar namn + attemps till ett objekt?

Tänker att jag härifrån skickar objektet till listan. Sedan kopierar listan till textfilen.

Alternativt två att objektet flyttas över till texfilen direkt.

Var inne och läste men upplevde det alltför avancerat nu.
Du kan spara dem rakt upp och ner i en vanlig txt-fil med StreamWriter om du så vill. Se exemplen på den här sidan.
Citera
2016-02-28, 19:20
  #5
Medlem
Rabbahs avatar
Tack för hjälpen!

Så enkelt.. Ibland sitter man förgäves i många timmar.

Har ni eventuella tips på var man finner en sorteringsmetod för denna streamreader?
Citera
2016-02-28, 19:33
  #6
Medlem
tj.s avatar
Citat:
Ursprungligen postat av Rabbah
Tack för hjälpen!

Så enkelt.. Ibland sitter man förgäves i många timmar.

Har ni eventuella tips på var man finner en sorteringsmetod för denna streamreader?
Du har LINQ till de flesta listor, arrayer och collections i .Net som låter dig sortera efter ett objekts olika properties.
Kod:
foreach (var someItem in someItems.OrderByDescending(=> x.SomeProperty))
{
    
// gör något här...

Citera
2016-02-28, 19:56
  #7
Medlem
Rabbahs avatar
Citat:
Ursprungligen postat av tj.
Du har LINQ till de flesta listor, arrayer och collections i .Net som låter dig sortera efter ett objekts olika properties.
Kod:
foreach (var someItem in someItems.OrderByDescending(=> x.SomeProperty))
{
    
// gör något här...


Den hade använts till listor tidigare minns jag. Men fungerar det att läsa direkt ifrån textfil? Eller måste jag flytta över innehållet till listan först?

Koden ser ut så här:

Kod:
using (StreamReader sr = new StreamReader(@"C:\topplistan.txt"))
string line sr.ReadToEnd();
Console.WriteLine(line);

Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback