decimal total = dt.AsEnumerable() .Sum(r => r.Field< decimal ?>( "Col1" ) ?? 0 ); decimal ? total = dt.AsEnumerable() .Sum(r => r.Field< decimal ?>( "Col1" )); // use total.HasValue and total.Value decimal d = 0 ; decimal total = dt.AsEnumerable() .Where(r => decimal .TryParse(r.Field< string >( "Col1" ), out d)) .Sum(r => d); decimal total = dt.AsEnumerable() .Where(r => !r.IsNull( "Col1" ) && decimal .TryParse(r[ "Col1" ].ToString(), out d)) .Sum(r => d); ref web: https://stackoverflow.com/questions/22294929/using-dt-asenumerable-sum-for-columns-having-string-null-value