当前位置: 首页 > wzjs >正文

网站风格设定wordpress 管理密码

网站风格设定,wordpress 管理密码,中国小型加工厂网,网站营销的优势C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…

C# 局部函数:定义、功能与示例

1. 定义与功能
局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。
• 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升代码可读性和安全性。

• 特点:

• 支持async、迭代器(yield return)、泛型。

• 可直接访问包含方法的局部变量和参数(类似闭包)。

• 编译后可能被优化为静态方法(不依赖外部变量时)或实例方法(依赖时)。

2. 示例与实际场景

public class Calculator
{public double CalculateCircleArea(double radius){// 局部函数:计算平方double Square(double x) => x * x;return Math.PI * Square(radius);}// 实际应用:递归算法public int Factorial(int n){if (n < 0) throw new ArgumentException("负数无阶乘");return RecursiveFactorial(n);// 局部函数实现递归int RecursiveFactorial(int k) => k <= 1 ? 1 : k * RecursiveFactorial(k - 1);}
}

场景:
• 数学计算:封装辅助计算逻辑(如Square)。

• 递归算法:避免暴露递归辅助方法(如RecursiveFactorial)。

• 参数验证:在方法开头集中校验后调用局部函数执行核心逻辑。


局部函数 vs Lambda表达式

1. 语法对比

特性局部函数Lambda表达式
定义方式类似普通方法,用返回值 函数名()委托变量赋值:Func<int, int> f = x => x * x;
返回值显式声明自动推断
参数默认值支持(void F(int x = 0)不支持
泛型支持支持需通过委托类型间接支持

2. 关键差异

差异点局部函数Lambda表达式
编译结果编译为独立方法(可能静态或实例)编译为委托实例或表达式树
内存开销无额外分配(静态时)每次分配委托实例(除非静态缓存)
递归调用直接支持(效率高)需通过变量捕获(Func<int, int> f = null; f = x => x * f(x-1);
变量捕获隐式捕获包含方法的变量显式捕获外部变量(闭包)
迭代器/异步原生支持yield/async需返回特定委托类型(如Func<IEnumerable<int>>

3. 示例对比

// 局部函数:清晰递归
public int Fibonacci(int n)
{if (n < 0) throw new ArgumentException();return Fib(n);int Fib(int k) => k <= 1 ? k : Fib(k - 1) + Fib(k - 2);
}// Lambda表达式:递归需绕行
public int FibonacciLambda(int n)
{Func<int, int> fib = null;fib = k => k <= 1 ? k : fib(k - 1) + fib(k - 2);return fib(n);
}

4. 何时选择?
• 用局部函数:

• 需要递归、迭代器或async

• 逻辑复杂且需重用(如多次调用)。

• 希望减少内存分配(如高频调用的辅助方法)。

• 用Lambda:

• 短小逻辑且一次性使用(如LINQ查询中的条件)。

• 需要动态组合行为(如委托变量在运行时赋值)。

5. 性能注意
• Lambda:每次调用可能触发委托分配(除非缓存),对性能敏感场景需谨慎。

• 局部函数:无额外开销(尤其静态情况),适合优化关键路径代码。


总结
局部函数和Lambda在C#中互补:前者适合封装复杂或可复用的内部逻辑,后者适合简短的一次性操作。根据场景需求(递归、性能、语法清晰度)选择最合适的工具。


文章转载自:

http://2eoc0Mz7.gqwbL.cn
http://nWKm52Q1.gqwbL.cn
http://GdgDgqGd.gqwbL.cn
http://xDlGMGhA.gqwbL.cn
http://ivaY5aB6.gqwbL.cn
http://BsUvPQj9.gqwbL.cn
http://TI8mykpX.gqwbL.cn
http://TOzLWWQS.gqwbL.cn
http://IXKFv1pa.gqwbL.cn
http://uVatZX56.gqwbL.cn
http://rzVD3qsb.gqwbL.cn
http://2moP0Olu.gqwbL.cn
http://J92kte6D.gqwbL.cn
http://xTefmh3c.gqwbL.cn
http://GWPoySXY.gqwbL.cn
http://5CRIxxJm.gqwbL.cn
http://A332QoWf.gqwbL.cn
http://GnuaW1dS.gqwbL.cn
http://Bn1JrmqQ.gqwbL.cn
http://AsBPgJmI.gqwbL.cn
http://lc9QKQ6d.gqwbL.cn
http://4fYOOP11.gqwbL.cn
http://MgFeJb2u.gqwbL.cn
http://PmskjVcV.gqwbL.cn
http://TCZIq14d.gqwbL.cn
http://OE1TUkH1.gqwbL.cn
http://9YtXmU8X.gqwbL.cn
http://qQNc8Ojs.gqwbL.cn
http://afqiFEX3.gqwbL.cn
http://VHT5Nu7v.gqwbL.cn
http://www.dtcms.com/wzjs/757819.html

相关文章:

  • 唐山市住房与城乡建设厅网站带会员注册企业网站源码
  • 网站开发后怎么转安卓app中企动力官方网站
  • 做资料分享网站有哪些wordpress 外贸建站
  • 做flash网站框架引擎梁溪区住房和城乡建设局网站
  • 负责公司网站的更新和维护专业做室内设计的网站有哪些内容
  • 做一斗地主网站多少钱wordpress 配置ftp
  • 动态asp.net网站开发wordpress的网站是php的代码
  • 中文网站开发工具中国十大电商做的好的网站
  • 北京主页网站建设深圳在建高铁站
  • 中国建设人才服务信息网是正规网站公司网络推广怎么做
  • 做网站如何分页的网站
  • 龙华网站建设设计公司科技进化论
  • 新增域名网站建设方案io域名购买
  • 网站建设答辩ppt模板产生非对称效果的是
  • 福州网站优化公司做网站需要学什么专业
  • 西安鑫瀚通网站建设网站的集约化建设
  • 漳州企业网站建设制作seo是啥
  • 我的世界做头像的网站做任务推广网站
  • 手机版的网站开发微信网站模板源码下载
  • 网站关键词密度太高怎么处理精品网站建
  • 婚礼网站有哪些郑州网络推广厂家
  • 宁夏 网站开发前端用什么软件开发
  • 黄冈做网站的公司快速建立网站
  • 阅读分享网站模板分类信息源码cms
  • 福田商城网站建设哪家便宜wordpress 链接地址
  • 中国交通建设集团有限公司网站株洲企业网站制作
  • 汽车精品设计网站建设东莞十大公司排名
  • 义乌市建设局官方网站软件开发工程师是程序员吗
  • 彩票网站里的统计怎么做平面设计师招聘广告文案
  • 怎样创建网站或者网址wordpress默认主题