我可以将.txt文件中的文本与另一个.txt文件中的其他文本链接起来吗?C#
因此,我目前正在学习C#,我正在阅读的书中的一个练习是制作一个字典控制台程序,您可以在其中添加自己的单词和定义。在代码中,当用户输入单词和所述单词的定义时,我将每个单词放在不同的文本文件中。我遇到的问题是,当用户查找他之前添加的单词时,我需要程序打印该单词及其相应的定义。因此,我需要程序知道定义文本文件中该单词的相应定义的开始和结束位置,然后打印它 我不知道这是否可行,或者是否有更好的方法获得相同的结果,但是是的 对不起,如果我没有说清楚我才刚刚开始学习:p,如果我的英语不是最好的(它不是我的母语),那么对不起 将代码放在这里(其中一些是西班牙语):我可以将.txt文件中的文本与另一个.txt文件中的其他文本链接起来吗?C#,c#,C#,因此,我目前正在学习C#,我正在阅读的书中的一个练习是制作一个字典控制台程序,您可以在其中添加自己的单词和定义。在代码中,当用户输入单词和所述单词的定义时,我将每个单词放在不同的文本文件中。我遇到的问题是,当用户查找他之前添加的单词时,我需要程序打印该单词及其相应的定义。因此,我需要程序知道定义文本文件中该单词的相应定义的开始和结束位置,然后打印它 我不知道这是否可行,或者是否有更好的方法获得相同的结果,但是是的 对不起,如果我没有说清楚我才刚刚开始学习:p,如果我的英语不是最好的(它不是我的母
使用系统;
使用System.IO;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用系统线程;
使用System.Threading.Tasks;
命名空间控制台应用程序8
{
班级计划
{
#区域静态变量和东西
静态弦乐;
静态字符串定义;
静态字符串PalabrasContenido;
静态字符串定义上下文;
静态整数;
静态布尔帕拉布拉布拉达=假;
静态布尔值palabraborrada0=假;
静态文件流PalabraStream=新文件流(“Palabras.txt”,FileMode.Append);
静态文件流DefinitionStream=新文件流(“Definitiones.txt”,FileMode.Append);
静态字节[]PalabraBytes=新字节[100];
静态字节[]定义字节=新字节[5000];
//静态StreamReader PalabrasSR=新的StreamReader(“C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Palabras.txt”);
#端区
静态void ShowMenu()
{
控制台.WriteLine(“uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
控制台。写线(“”);
Console.WriteLine(“支持escoje-tu-opcion”);
控制台.WriteLine(“uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
控制台。写线(“”);
控制台。WriteLine(“1-Agregar palabra”);
控制台。WriteLine(“2-Buscar palabra”);
控制台。WriteLine(“3-Mostrar palabras.”);
控制台。WriteLine(“4-Borrar palabra.”);
控制台。WriteLine(“5-Salir”);
}
静态无效AskChoice()
{
控制台。写线(“”);
控制台。写线(“”);
int.TryParse(Console.ReadLine(),out opcion);
}
静态void AddWord()
{
PalabrasContenido=File.ReadAllText(“C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Palabras.txt”);
PalabraStream=新文件流(“Palabras.txt”,FileMode.Append);
DefinicionStream=newfilestream(“Definiciones.txt”,FileMode.Append);
Console.Clear();
Console.WriteLine(“Ingresa palabra a agregar…\n”);
palabra=Console.ReadLine().ToLower()+“”;
控制台。写线(“”);
if(PalabrasContenido.Contains(palabra))
{
Console.Clear();
Console.WriteLine(“\n--lapalabra'{0}'存在于El-Diccionario。-\n”,palabra);
控制台。WriteLine(“Volviendo al菜单…”);
睡眠(3000);
}
其他的
{
Console.WriteLine(“Ingrea Definition…\n”);
definicion=Console.ReadLine()+“”;
控制台。写线(“”);
Write(Encoding.ASCII.GetBytes(palabra),0,palabra.Length);
DefinicionStream.Write(Encoding.ASCII.GetBytes(definicion),0,definicion.Length);
PalabraStream.Close();
定义onstream.Close();
Console.Clear();
Console.WriteLine(“--La palabra ha sido agregada con exito--\n”);
控制台。WriteLine(“Volviendo al菜单…”);
睡眠(3000);
}
}
静态void SearchWord()
{
PalabrasContenido=File.ReadAllText(“C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Palabras.txt”);
DefinicionesContenido=File.ReadAllText(“C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Definiciones.txt”);
Console.Clear();
Console.WriteLine(“Ingresa palabra a buscar…\n”);
palabra=Console.ReadLine().ToLower();
if(PalabrasContenido.Contains(palabra))
{
PalabraStream=新文件流(“Palabras.txt”,FileMode.Open);
Console.Clear();
Console.WriteLine(“\n定义:{0}”,palabra);
控制台.WriteLine(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuun”);
Console.WriteLine(“{0}”,定义[palabra]);
控制台.WriteLine(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuun”);
控制台写入线(“脉冲进入连续段…”);
Console.ReadLine();
PalabraStream.Close();
}
其他的
{
Console.Clear();
Console.WriteLine(“\n--La palabra Ingreada no ha sido encontrada--\n”);
控制台写入线(“脉冲进入连续段…”);
Console.ReadLine();
控制台。写线(“”);
}
}
静态void ShowWords()
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication8
{
class Program
{
#region Static variables and stuff
static string palabra;
static string definicion;
static string PalabrasContenido;
static string DefinicionesContenido;
static int opcion;
static bool palabraborrada = false;
static bool palabraborrada0 = false;
static FileStream PalabraStream = new FileStream("Palabras.txt", FileMode.Append);
static FileStream DefinicionStream = new FileStream("Definiciones.txt", FileMode.Append);
static byte[] PalabraBytes = new byte[100];
static byte[] DefinicionBytes = new byte[5000];
//static StreamReader PalabrasSR = new StreamReader("C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Palabras.txt");
#endregion
static void ShowMenu()
{
Console.WriteLine("________________________________________________________");
Console.WriteLine("");
Console.WriteLine("Por favor escoje tu opcion.");
Console.WriteLine("________________________________________________________");
Console.WriteLine("");
Console.WriteLine("1 - Agregar palabra.");
Console.WriteLine("2 - Buscar palabra.");
Console.WriteLine("3 - Mostrar palabras.");
Console.WriteLine("4 - Borrar palabra.");
Console.WriteLine("5 - Salir.");
}
static void AskChoice()
{
Console.WriteLine("");
Console.WriteLine("");
int.TryParse(Console.ReadLine(), out opcion);
}
static void AddWord()
{
PalabrasContenido = File.ReadAllText("C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Palabras.txt");
PalabraStream = new FileStream("Palabras.txt", FileMode.Append);
DefinicionStream = new FileStream("Definiciones.txt", FileMode.Append);
Console.Clear();
Console.WriteLine("Ingresa palabra a agregar...\n");
palabra = Console.ReadLine().ToLower() + " ";
Console.WriteLine("");
if (PalabrasContenido.Contains(palabra))
{
Console.Clear();
Console.WriteLine("\n--La palabra '{0}' ya existe en El Diccionario.--\n", palabra);
Console.WriteLine("Volviendo al menu...");
Thread.Sleep(3000);
}
else
{
Console.WriteLine("Ingresa definicion...\n");
definicion = Console.ReadLine() + " ";
Console.WriteLine("");
PalabraStream.Write(Encoding.ASCII.GetBytes(palabra), 0, palabra.Length);
DefinicionStream.Write(Encoding.ASCII.GetBytes(definicion), 0, definicion.Length);
PalabraStream.Close();
DefinicionStream.Close();
Console.Clear();
Console.WriteLine("--La palabra ha sido agregada con exito--\n");
Console.WriteLine("Volviendo al menu...");
Thread.Sleep(3000);
}
}
static void SearchWord()
{
PalabrasContenido = File.ReadAllText("C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Palabras.txt");
DefinicionesContenido = File.ReadAllText("C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Definiciones.txt");
Console.Clear();
Console.WriteLine("Ingresa palabra a buscar...\n");
palabra = Console.ReadLine().ToLower();
if (PalabrasContenido.Contains(palabra))
{
PalabraStream = new FileStream("Palabras.txt", FileMode.Open);
Console.Clear();
Console.WriteLine("\nDefinicion de: {0}", palabra);
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("{0}", definiciones[palabra]);
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("Pulsa enter para continuar...");
Console.ReadLine();
PalabraStream.Close();
}
else
{
Console.Clear();
Console.WriteLine("\n--La palabra ingresada no ha sido encontrada--\n");
Console.WriteLine("Pulsa enter para continuar...");
Console.ReadLine();
Console.WriteLine("");
}
}
static void ShowWords()
{
Console.Clear();
PalabraStream = new FileStream("Palabras.txt", FileMode.Open);
if (PalabraStream.Length > 0)
{
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("Palabras encontradas:");
Console.WriteLine("________________________________________________________\n");
PalabraStream.Read(PalabraBytes, 0, (int)PalabraStream.Length);
Console.WriteLine(Encoding.ASCII.GetString(PalabraBytes));
PalabraStream.Close();
Console.WriteLine("\n\nPulsa enter para continuar...");
Console.ReadLine();
}
else
{
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("Palabras encontradas:");
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("\n--No se han encontrado palabras.--\n");
Console.WriteLine("Pulsa enter para continuar...");
PalabraStream.Close();
Console.ReadLine();
Console.WriteLine("");
}
}
static void DeleteWord()
{
Console.Clear();
Console.WriteLine("\nIngresa palabra a borrar...\n");
palabra = Console.ReadLine().ToLower();
palabraborrada = definiciones.Remove(palabra);
palabraborrada0 = diccionario.Remove(palabra);
if (palabraborrada == true && palabraborrada0 == true)
{
Console.Clear();
Console.WriteLine("\n--La palabra ha sido borrada con exito.--\n");
Console.WriteLine("Volviendo al menu...");
Thread.Sleep(3000);
}
else
{
Console.Clear();
Console.WriteLine("\n--La palabra no existe.--\n");
Console.WriteLine("Volviendo al menu...");
Thread.Sleep(3000);
}
}
static void Exit()
{
Console.Clear();
Console.WriteLine("\n--Gracias por usar El Diccionario.--\n");
Console.WriteLine("Pulsa enter para continuar...");
Console.ReadLine();
Console.WriteLine("");
}
static void InvalidInput()
{
Console.WriteLine("\n--Opcion invalida.--\n");
Console.WriteLine("Pulsa enter para continuar...\n");
Console.ReadLine();
}
static void Main(string[] args)
{
Console.WriteLine("Bienvenido a Tu diccionario.\n");
PalabraStream.Close();
DefinicionStream.Close();
do
{
//Presentar menu y limpiar consola
Console.Clear();
ShowMenu();
//Pedir opcion
AskChoice();
if (opcion == 1)
{
//Añadir palabra
AddWord();
}
if (opcion == 2)
{
//Buscar palabra
SearchWord();
}
if (opcion == 3)
{
//Mostrar palabras
ShowWords();
}
if (opcion == 4)
{
DeleteWord();
}
if (opcion == 5)
{
Exit();
}
if (opcion > 5 || opcion < 1)
{
InvalidInput();
}
}
while (opcion != 5);
}
}
}
string[] words = File.ReadAllLines("Palabras.txt");
string[] definitions = File.ReadAllLines("Definiciones.txt");
Dictionary<string, string> dictionary = new Dictionary<string, string>();
for(int i = 0; i < words.Length; i++)
{
dictionary.Add(words[i], definitions[i]);
}
string output = dictionary["programmer"]; // "A person who writes computer programs"