最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#如何動(dòng)態(tài)創(chuàng)建lambda表達(dá)式

 更新時(shí)間:2023年02月26日 12:50:01   作者:巔峰白羊  
這篇文章主要介紹了C#如何動(dòng)態(tài)創(chuàng)建lambda表達(dá)式問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

C#動(dòng)態(tài)創(chuàng)建lambda表達(dá)式

近日在使用了一下EF框架,在做多條件where查詢的時(shí)候不知道怎么做,網(wǎng)上找了找,一開始用context.Database.SqlQuery<T>方法寫sql語句,之后遇到了SqlParamterCollection已在另一定義的問題,找了一下,大概知道什么問題,覺得用EF真的有點(diǎn)不方便,還不如用Dapper開發(fā)效率快,之后又在網(wǎng)上搜了搜關(guān)鍵字EF框架多條件Where查詢就打開了新世界的大門。

動(dòng)態(tài)創(chuàng)建lambda表達(dá)式,我跟著學(xué)習(xí)了一下寫的

代碼如下:

? ? ? ? ? ?//querydata 是Dictionary<string,string> 放著要查詢的屬性名和相應(yīng)的值
? ? ? ? ? ? ParameterExpression pe = Expression.Parameter(typeof(Customer), "customer");//lambda表示式里的參數(shù)我這邊是單參數(shù)
? ? ? ? ? ? Expression left;//相當(dāng)于 a=b 的 a
? ? ? ? ? ? Expression right;//相當(dāng)于a=b 的 b
? ? ? ? ? ? Expression e;//作為最后形成的表達(dá)式的載體
? ? ? ? ? ? //先放一個(gè)初始值后面被替換不然循環(huán)里不方便用 ? ? ? ? ??
? ? ? ? ? ? left = Expression.Property(pe, typeof(Customer).GetProperty("name"));//Customer.name
? ? ? ? ? ? right = Expression.Constant("巔峰白楊");//Constant方法設(shè)置屬性對(duì)應(yīng)的值
? ? ? ? ? ? e = Expression.Equal(left, right);//Customer.name=="巔峰白楊"
? ? ? ? ? ? //循環(huán)查詢條件字典
? ? ? ? ? ? ?foreach (var item in querydata)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (!item.Value.ToString().Trim().Equals(""))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? left = Expression.Property(pe, typeof(SFC_Package).GetProperty(item.Key));
? ? ? ? ? ? ? ? ? ? right = Expression.Constant(item.Value);
? ? ? ? ? ? ? ? ? ? if (index == 0)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? e = Expression.Equal(left, right);
? ? ? ? ? ? ? ? ? ? ? ? index++;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if (e != null)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Expression tempe;
? ? ? ? ? ? ? ? ? ? ? ? ? ? tempe = Expression.Equal(left, right);
? ? ? ? ? ? ? ? ? ? ? ? ? ? e = Expression.And(tempe, e);//加了一個(gè)&&連接兩個(gè)判斷
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? IQueryable<Customer> queryableData = db.Customer.AsQueryable<Customer>();//將IEnumerable類型轉(zhuǎn)成IQueryable ? ? ? ? ??
? ? ? ? ? ? //Where方法的lambda表達(dá)式
? ? ? ? ? ? MethodCallExpression whereCallExpression = Expression.Call(
? ? ? ? ? ? typeof(Queryable),
? ? ? ? ? ? "Where",
? ? ? ? ? ? new Type[] { queryableData.ElementType },
? ? ? ? ? ? queryableData.Expression,
? ? ? ? ? ? Expression.Lambda<Func<SFC_Package, bool>>(e, new ParameterExpression[] { pe }));
? ? ? ? ? ? //OrderBy方法的lambda表達(dá)式 這邊寫的有點(diǎn)冗余第一次寫不太習(xí)慣,想想重復(fù)了很多
? ? ? ? ? ? var propertyinfo=typeof(Customer).GetProperty("Name");
? ? ? ? ? ? Expression body=Expression.Property(pe,propertyinfo);
? ? ? ? ? ? Type nametype=propertyinfo.PropertyType;
? ? ? ? ? ? MethodCallExpression orderByCallExpression = Expression.Call(
? ? ? ? ? ? ?typeof(Queryable),
? ? ? ? ? ? "OrderBy",
? ? ? ? ? ? new Type[] { queryableData.ElementType, nametype},//其實(shí)可以寫成queryableData.ElementType.GetProperty("Name").PropertyType ? ? ? ? ? ?
? ? ? ? ? ? whereCallExpression,
? ? ? ? ? ? Expression.Lambda(body, pe));
? ? ? ? ? ? //使用已創(chuàng)建好的lambda表達(dá)式查詢數(shù)據(jù) ps:IQueryable和IEnumerable可以轉(zhuǎn)換方便處理查詢結(jié)果
? ? ? ? ? ? ?IQueryable<SFC_Package> results = queryableData.Provider.CreateQuery<Customer>(orderByCallExpression);

網(wǎng)上還看到一種簡單的多條件查詢的方法,相當(dāng)于

var data=db.Customer.Where(o=>o.name=="西門吹雪");
data=data.Where(o=>o.sex="男神")

用循環(huán)來多次Where實(shí)現(xiàn)多條件查詢,感覺可能會(huì)造成多次數(shù)據(jù)庫查詢,不過用在Linq to Object

上應(yīng)該挺好的。

最后學(xué)習(xí)的動(dòng)態(tài)創(chuàng)建lambda表達(dá)式地址 點(diǎn)擊打開鏈接

Lambda表達(dá)式動(dòng)態(tài)拼接生成工具類

    public static class LambdaUtil<T>
    {
        /// <summary>
        /// lambda表達(dá)式:t=>true
        /// </summary>
        /// <returns></returns>
        public static Expression<Func<T, bool>> True()
        {
            return t => true;
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>false
        /// </summary>
        /// <returns></returns>
        public static Expression<Func<T, bool>> False()
        {
            return t => false;
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName
        /// 多用于order排序
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <typeparam name="TKey">返回類型</typeparam>
        /// <param name="propName">屬性名</param>
        /// <returns></returns>
        private static Expression<Func<T, TKey>> Order<TKey>(string propName)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)屬性
            MemberExpression property = Expression.Property(parameter, propName);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, TKey>>(property, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName==propValue
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> Equal(string propName, object propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue);
            // 創(chuàng)建一個(gè)相等比較Expression
            BinaryExpression binary = Expression.Equal(member, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(binary, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName!=propValue
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> NotEqual(string propName, object propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue);
            // 創(chuàng)建一個(gè)不相等比較Expression
            BinaryExpression binary = Expression.NotEqual(member, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(binary, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName&lt;propValue
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> LessThan(string propName, object propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue);
            // 創(chuàng)建一個(gè)不相等比較Expression
            BinaryExpression binary = Expression.LessThan(member, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(binary, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName&lt;=propValue
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> LessThanOrEqual(string propName, object propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue);
            // 創(chuàng)建一個(gè)不相等比較Expression
            BinaryExpression binary = Expression.LessThanOrEqual(member, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(binary, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName>propValue
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> GreaterThan(string propName, object propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue);
            // 創(chuàng)建一個(gè)不相等比較Expression
            BinaryExpression binary = Expression.GreaterThan(member, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(binary, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName>=propValue
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> GreaterThanOrEqual(string propName, object propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue);
            // 創(chuàng)建一個(gè)不相等比較Expression
            BinaryExpression binary = Expression.GreaterThanOrEqual(member, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(binary, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>{t.contains(propvalue1) ||...||t.contains(propvalueN)}
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValues">屬性值數(shù)組</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> In(string propName, string[] propValues)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t"); // left
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            Expression constant = Expression.Constant(false);
            // 創(chuàng)建一個(gè)方法
            MethodInfo method = typeof(string).GetMethod("Contains", new[] { typeof(string) });
            foreach (string item in propValues)
            {
                // 創(chuàng)建一個(gè)帶參數(shù)方法Expression
                MethodCallExpression methodCall = Expression.Call(member, method, Expression.Constant(item)); // right
                // 連接參數(shù)方法
                constant = Expression.Or(methodCall, constant);
            }
 
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(constant, new ParameterExpression[] { parameter });
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>{!(t.contains(propvalue1) ||...||t.contains(propvalueN))}
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValues">屬性值數(shù)組</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> NotIn(string propName, string[] propValues)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            Expression constant = Expression.Constant(false);
            // 創(chuàng)建一個(gè)方法
            MethodInfo method = typeof(string).GetMethod("Contains", new[] { typeof(string) });
            foreach (string item in propValues)
            {
                // 創(chuàng)建一個(gè)帶參數(shù)方法Expression
                MethodCallExpression methodCall = Expression.Call(member, method, Expression.Constant(item)); // right
                // 連接參數(shù)方法
                constant = Expression.Or(methodCall, constant);
            }
 
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(Expression.Not(constant), new ParameterExpression[] { parameter });
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName.Contains(propValue)
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> Contains(string propName, string propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue, typeof(string));
            // 創(chuàng)建一個(gè)方法
            MethodInfo method = typeof(string).GetMethod("Contains", new[] { typeof(string) });
            // 創(chuàng)建一個(gè)帶參數(shù)方法Expression
            MethodCallExpression methodCall = Expression.Call(member, method, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(methodCall, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName.Contains(propValue)
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> StartWith(string propName, string propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue, typeof(string));
            // 創(chuàng)建一個(gè)方法
            MethodInfo method = typeof(string).GetMethod("StartsWith", new[] { typeof(string) });
            // 創(chuàng)建一個(gè)帶參數(shù)方法Expression
            MethodCallExpression methodCall = Expression.Call(member, method, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(methodCall, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>t.propName.Contains(propValue)
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> EndsWith(string propName, string propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue, typeof(string));
            // 創(chuàng)建一個(gè)方法
            MethodInfo method = typeof(string).GetMethod("EndsWith", new[] { typeof(string) });
            // 創(chuàng)建一個(gè)帶參數(shù)方法Expression
            MethodCallExpression methodCall = Expression.Call(member, method, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(methodCall, parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:!(t=>t.propName.Contains(propValue))
        /// 多用于where條件
        /// </summary>
        /// <typeparam name="T">參數(shù)類型</typeparam>
        /// <param name="propName">屬性名稱</param>
        /// <param name="propValue">屬性值</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> NotContains(string propName, string propValue)
        {
            // 創(chuàng)建節(jié)點(diǎn)參數(shù)t
            ParameterExpression parameter = Expression.Parameter(typeof(T), "t");
            // 創(chuàng)建一個(gè)成員(字段/屬性)
            MemberExpression member = Expression.PropertyOrField(parameter, propName);
            // 創(chuàng)建一個(gè)常數(shù)
            ConstantExpression constant = Expression.Constant(propValue, typeof(string));
            // 創(chuàng)建一個(gè)方法
            MethodInfo method = typeof(string).GetMethod("Contains", new[] { typeof(string) });
            // 創(chuàng)建一個(gè)帶參數(shù)方法Expression
            MethodCallExpression methodCall = Expression.Call(member, method, constant);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(Expression.Not(methodCall), parameter);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>{left and right}
        /// 多用于where條件
        /// </summary>
        /// <param name="left">左側(cè)條件</param>
        /// <param name="right">右側(cè)條件</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> And(Expression<Func<T, bool>> left, Expression<Func<T, bool>> right)
        {
            // 創(chuàng)建參數(shù)表達(dá)式
            InvocationExpression invocation = Expression.Invoke(right, left.Parameters.Cast<Expression>());
            // 創(chuàng)建and運(yùn)算
            BinaryExpression binary = Expression.And(left.Body, invocation);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(binary, left.Parameters);
        }
 
        /// <summary>
        /// lambda表達(dá)式:t=>{left or right}
        /// 多用于where條件
        /// </summary>
        /// <param name="left">左側(cè)條件</param>
        /// <param name="right">右側(cè)條件</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> Or(Expression<Func<T, bool>> left, Expression<Func<T, bool>> right)
        {
            // 創(chuàng)建參數(shù)表達(dá)式
            InvocationExpression invocation = Expression.Invoke(right, left.Parameters.Cast<Expression>());
            // 創(chuàng)建or運(yùn)算
            BinaryExpression binary = Expression.Or(left.Body, invocation);
            // 生成lambda表達(dá)式
            return Expression.Lambda<Func<T, bool>>(binary, left.Parameters);
        }
    }

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#中using的三種用法

    C#中using的三種用法

    C#中using的三種用法...
    2007-04-04
  • 關(guān)于C#轉(zhuǎn)換二進(jìn)制所引起的一些思考

    關(guān)于C#轉(zhuǎn)換二進(jìn)制所引起的一些思考

    這篇文章主要給大家介紹了關(guān)于C#轉(zhuǎn)換二進(jìn)制所引起的一些思考,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • C#中foreach語句使用break暫停遍歷的方法

    C#中foreach語句使用break暫停遍歷的方法

    這篇文章主要介紹了C#中foreach語句使用break暫停遍歷的方法,涉及C#中break語句跳出foreach循環(huán)的使用技巧,非常具有實(shí)用價(jià)值,是C#初學(xué)者必須掌握的重要技巧,需要的朋友可以參考下
    2015-04-04
  • C#創(chuàng)建壓縮文件的實(shí)現(xiàn)代碼

    C#創(chuàng)建壓縮文件的實(shí)現(xiàn)代碼

    本篇文章主要介紹了C# 創(chuàng)建壓縮文件的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • C#簡單快速的json組件fastJSON使用介紹

    C#簡單快速的json組件fastJSON使用介紹

    JSON數(shù)據(jù)格式簡潔,用于數(shù)據(jù)的持久化和對(duì)象傳輸很實(shí)用。最近在做一個(gè)Razor代碼生成器,需要把數(shù)據(jù)庫的表和列的信息修改后保存下來,想到用JSON序列化對(duì)象并保存,需要時(shí)再反序列化成對(duì)象會(huì)簡單一些
    2012-11-11
  • 大白話講解C# 中的委托

    大白話講解C# 中的委托

    這篇文章主要介紹了C# 中的委托的相關(guān)資料,幫助初學(xué)者更好的理解和使用c#,感興趣的朋友可以了解下
    2020-11-11
  • C#實(shí)現(xiàn)Post數(shù)據(jù)或文件到指定的服務(wù)器進(jìn)行接收

    C#實(shí)現(xiàn)Post數(shù)據(jù)或文件到指定的服務(wù)器進(jìn)行接收

    這篇文章主要為大家詳細(xì)介紹了如何通過C#實(shí)現(xiàn)Post數(shù)據(jù)或文件到指定的服務(wù)器進(jìn)行接收,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考下
    2024-03-03
  • C#實(shí)現(xiàn)XML文件操作詳解

    C#實(shí)現(xiàn)XML文件操作詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)XML操作文件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#實(shí)現(xiàn)treeview綁定的方法

    C#實(shí)現(xiàn)treeview綁定的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)treeview綁定的方法,包括datatable的獲取與節(jié)點(diǎn)的操作,具有一定的參考價(jià)值,需要的朋友可以參考下
    2014-12-12
  • C#調(diào)用C動(dòng)態(tài)鏈接庫的實(shí)現(xiàn)

    C#調(diào)用C動(dòng)態(tài)鏈接庫的實(shí)現(xiàn)

    動(dòng)態(tài)鏈接庫是不能直接執(zhí)行的,也不能接收消息,它只是一個(gè)獨(dú)立的文件,本文主要介紹了C#調(diào)用C動(dòng)態(tài)鏈接庫的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01

最新評(píng)論

葵青区| 大石桥市| 临颍县| 巴彦县| 大新县| 肥西县| 洛宁县| 鹤壁市| 萍乡市| 潜江市| 民县| 龙井市| 秭归县| 阜新市| 都兰县| 营山县| 兴和县| 青川县| 安新县| 梅州市| 唐海县| 潍坊市| 渭南市| 潞城市| 日照市| 大姚县| 望奎县| 区。| 安徽省| 平乐县| 华亭县| 安陆市| 赫章县| 花莲县| 金门县| 雷波县| 筠连县| 博乐市| 疏附县| 吴堡县| 宣威市|