простой вопрос, который уклоняется от меня в данный момент. Мне нужно 2 строки ниже, чтобы разобрать плавать. с этими двумя строками я получаю следующее: Ошибка 1 Невозможно неявно преобразовать тип 'test.Form1.ore' в 'string'. поэтому я рисую синтаксический анализ текстовых полей, чтобы плавать, так как это то, что будет передано в текстовые поля, может кто-нибудь показать мне, чего я не вижу.parse float to text box
textBox3.Text = books[0]; // update the first text
textBox4.Text = books[1]; // update the second text
Я попытался это
textBox4.Text = float.Parse(books[1]); //update the second text
но это не сработало
добавляя весь код для справки
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace test
{
public partial class Form1 : Form
{
[Serializable]
public class ore
{
public float Titan;
public float Eperton;
}
ore b1 = null;
ore b2 = null;
public Form1()
{
InitializeComponent();
b2 = new ore();
b1 = new ore();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
float tempFloat;
if (float.TryParse(textBox1.Text, out tempFloat))
{
b1.Titan = tempFloat;
}
else
MessageBox.Show("uh oh");
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
float tempFloat;
if (float.TryParse(textBox1.Text, out tempFloat))
{
b2.Eperton = tempFloat;
}
else
MessageBox.Show("uh oh");
}
private void button1_Click(object sender, EventArgs e)
{
List<ore> oreData = new List<ore>();
oreData.Add(b1);
oreData.Add(b2);
FileStream fs = new FileStream("ore.dat", FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, oreData);
fs.Close();
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
}
private void textBox4_TextChanged(object sender, EventArgs e)
{
}
List<ore> books = new List<ore>();
private void button2_Click(object sender, EventArgs e)
{
FileStream fs = new FileStream("ore.dat", FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
List<ore> books = (List<ore>)bf.Deserialize(fs);
fs.Close();
if (books.Count > 1)
{
textBox3.Text = float.Parse(books[0]).ToString();//update the first text
textBox4.Text = float.Parse(books[1]).ToString();
//update the second text
}
}
}
}
Что значит «не работает»? Вы получили сообщение об ошибке? Неужели инопланетянин спустился с небес и сказал вам? –
Что значит «это не работает»? Какая часть не сработала? Вы получили сообщение об ошибке? Вы видите неправильное значение? Ваш компьютер взорвался? –
im sorry error Наилучшее перегруженное соответствие метода для 'float.Parse (string)' имеет некоторые недопустимые аргументы \t - это сообщение об ошибке для нового кода, который я попробовал – doc