C#如何检查数据源是否为空?

3
我有一个名为chart1的WinForm控件。
我想知道chart1.DataSource是否为空。
如何检查呢?

你是如何检查它的来源的?显而易见的答案似乎是 if(chart1.DataSource == null) {} ... 或者你所说的“空”是指其他什么? - Dan J
你所说的“empty”是什么意思?是指没有数据源,还是指表中没有行(例如,如果你的数据源包含表)? - John Warlow
@JL 我需要知道它是否返回了任何行。 - Alex Gordon
chart1.DataSource == null || chart1.DataSource.Count == 0 - jfs
4个回答

5
如果数据源是< strong>DataTable ,您可以首先检查DataTable不为空,其次检查其Rows.Count > 0。
如果数据源是< strong>DataSet ,您需要检查是否为null,然后检查表和行。

2

检查是否为null。

if(chart1.DataSource == null)
{
 // Do something
}

如果您了解DataSource是什么,那么您可以对其进行强制类型转换并检查其是否为空。例如:

List<String> strings = new List<String>() { "a", "b" };

// Set chart1.DataSource to strings... then later on
if(chart1.DataSource != null)
{
   List<String> boundStrings = chart1.DataSource as List<String>;
   if(boundStrings != null && boundStrings.Count > 0)
   {
      // do something
   }
}

抱歉,我需要知道它是否有0行。 - Alex Gordon
看更新的答案...这取决于您的数据源是什么,因此需要转换的内容也不同。 - Ian

2

个人建议在将数据源绑定到图表之前先检查其是否为空,以便不必担心chart1处理空数据源的情况。


1
if (chart1.DataSource == null)
{
    // The DataSource is empty
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接