一个常用的C#读取文本的方法

个人认为这段代码可读性不是很好,因为我用了这么久看起来还是很不顺眼~! 但是实用还是非常实用的, 记录下来,以后有需要直接取走吧~

PS:遍历行数读取对应值的时候, 遍历值要+1, 因为遍历默认是从表头开始的,而真正的值是从第二行开始的, +1即从第二行开始遍历

 

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class LoadText : MonoBehaviour 
{

	public string dataName;


	string[][] Array;
	string [] allitems;
	void DescDataInit(){
		//1到4步的内容是为了把文本内容完全copy下来并且使其可以数据化可以任意读取
		TextAsset allItemDataBase = Resources.Load("Text/"+dataName, typeof(TextAsset)) as TextAsset;	//1.读取文件
		
		allitems = allItemDataBase.text.Split ("\r"[0]);	// 2.读取每一行的内容

		Array = new string [allitems.Length][];		// 3.一个二维数组,行和列分别为: 文本总行数和空
		
		for(int i =0;i < allitems.Length; i++){		// 4. 遍历所有文本,以逗号为分隔符存储每一行的内容
			Array[i] = allitems[i].Split ("," [0]);	
		}
	}


	string GetDataByIdAndName(string strName,int nId){  
		if (Array.Length <= 0)  
			return "";  
		
		int nRow = Array.Length;  
		int nCol = Array[0].Length;   
		
		for (int i = 0; i < nRow; i++) { //行 
			if (i == nId) {  
				for (int j = 0; j < nCol; j++) { //列
					if (Array[0][j] == strName) {  
						return Array[i][j];  
					}  
				}
			}  
		}  
		return "";  
	} 


}

 

posted on 2015-07-17 15:35  快要结束了  阅读(1180)  评论(0编辑  收藏  举报

导航