找特征值。比如-之类的,如果有这种,那么就认为是字符串格式..
谢谢你提供思路咯
一个数组怎么既有DateTime和Int的元素呢
哦哦 就是DateTime那个的我ToString啦 其实都是string啦
m_LabelList[i] = curDate.ToString("yyyy-MM-dd");//DateTime toSting
m_LabelList[i] = curTime.ToString(); // Int toString
就是以上两种 当时我想把日期这种格式的 单独拿出来 作为一个List 不知道怎么弄啦? Contain嘛?
List<DateTime> _list = new List<DateTime>(); //放在循环之外 if (m_LabelList[i].GetType() == DateTime.Now.GetType()) { _list .add(m_LabelList[i]); }
恩恩 我的都是string类型哒最后 解决啦
你为什么不一开始就分开放呢?
List<string> list = new List<string>() {"1960-01-01","111","2010-10-23","222" }; var datetimes = list.Where(b => b.Contains("-")).Select(b=>Convert.ToDateTime(b)).ToList();
找出特征,注意转换是否有异常。
谢谢沐子风 我用的Contains 一直不太会用Lambda式 用你的代码我也测试成功啦 thx!
谢谢咯 三种方法我都试啦 么么
都是乱讲..严谨的做法是用DateTime.TryParse 判断是否是日期.再用int.TryParse判断是否是整数.然后放到各自的数组里
thx
public void ShowData() { List<DateTime> _tempDateList = new List<DateTime>();//存放DateTime类型的数据 List<int> _tempIntList = new List<int>();//存放int类型的数据 string[] _temp = new string[5] { "2016-07-01", "123", "2016-07-02", "2016-07-03", "456" }; foreach (var item in _temp) { if (item.Contains("-"))//验证数据中是否包含(‘-’) { _tempDateList.Add(Convert.ToDateTime(item)); } if (!item.Contains("-"))//不包含(‘—’) { _tempIntList.Add(Convert.ToInt32(item)); } } }
非常感谢 我最后 就有这种方法实现啦
举个例子楼主看可行不?
object[] arr = new object[5];
arr[0]= 1;
arr[1]=DateTime.Now;
arr[2]=DateTime.Now;
arr[3]=DateTime.Now;
arr[4]=DateTime.Now;
var ints=arr.TypeOf<int>().ToList();
var dateTimes = arr.TypeOf<DateTime>().ToList();
用到 System.Linq 命名空间。
谢谢咯
if else 判断数组中每一个元素是否可以转换为时间类型DateTime.TryParse(),或者转换为整数int.TryParse(),然后再放入相对应的数组中