Member 13921752 Ответов: 2

Как я могу вызвать дату отключения от yestarday?


Мне нужно вызвать yestarday date только с близким значением в методе Save_Classifier.
Я попробовал GetElementByDate{0}, но что-то я делаю не так.
Чем сравнить с датой с сегодняшнего дня с близким значением в состоянии "если".

пожалуйста, помогите.

Что я уже пробовал:

using QuickIA.ImportData.PrepareDataSet.Test.Worker;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QuickIA.ImportData.PrepareDataSet.Test.Model
{
    public class Context
    {
        public Context()
        {
            Elements = new List<ContextElement>();
        }
        internal static IEnumerable<object> ContextElement;
        public List<ContextElement> Elements { get; set; }
        public ContextElement GetElementByDate(string date)
        {  
            foreach (var item in Elements)
            {
                if (item.Data == date)
                    return item;
            } 
                
            return null;
        } 

        public void SaveToFile(string fileName) //save to original
        {
            fileName = string.Concat(fileName, ".csv");

            if (File.Exists(fileName))
            {
                File.Delete(fileName);
            }
            foreach (var e in Elements)
            {
                File.AppendAllText(fileName, e.Values);
                File.AppendAllText(fileName, Environment.NewLine);
            }
        }    
        public void Save_Reversed(string fileR)
        {
            var sorted = Elements
                .SelectMany(a => a.Data)
                .OrderBy(a => a)
                .Distinct()
                .ToList();
              
            Elements = Elements.OrderBy(a => a.Data).ToList();
            
            fileR = string.Concat(fileR, "_reversed", ".csv");

            if (File.Exists(fileR))
            {
                File.Delete(fileR);   
            } 
            foreach (var e in Elements)
            {
                File.AppendAllText(fileR, e.Values);
                File.AppendAllText(fileR, Environment.NewLine);
            }          
        }  
        public void Save_Classifier(string fileC)
        {
            //  if (close from previous day > current close price ) = add to file 1 on the end, else add to file 0


            string yesterday;

            GetElementByDate("{0}"); 
            

           

            fileC = string.Concat(fileC, "_classifier", ".csv");

            if (File.Exists(fileC))
            {
                File.Delete(fileC);
            }
            foreach (var e in Elements)
            {
                File.AppendAllText(fileC, e.Values);
                File.AppendAllText(fileC, Environment.NewLine);
            }
        }
    }  
    public class ContextElement
    {
        public ContextElement() { }
        public string Data { get; set; }
        public string Values { get; set; }
        public decimal Open { get; set; }
        public decimal Close { get; set; }
        public decimal High { get; set; }
        public decimal Low { get; set; }
    }

}

Richard MacCutchan

- но кое-что я делаю не так."
Не стоя за вашей рабочей станцией и не наблюдая, как вы печатаете, мы не можем догадаться, что это может быть.

2 Ответов

Рейтинг:
2

Richard MacCutchan

GetElementByDate("{0}");

Как вы думаете, как эта строка будет соответствовать любой дате?


Рейтинг:
2

Simon_Whale

Добавление к ответу Ричардса вашего GetElementByDate имеет возвращаемый тип ContextElement

public ContextElement GetElementByDate(string date)
{
    foreach (var item in Elements)
    {
        if (item.Data == date)
            return item;
    }

    return null;
}


и из вашего кода Вы также не фиксируете этот результат.