ASP.Net C##if / endif(使用方法)

时间:2018-09-23 06:22:58

标签: asp.net-core-2.1

本文(ASP.Net Core 2.1 Razor pages)之后,我遇到了我的代码问题。 在访问Student \ Student.cshtml.cs页面的GitHub存储库后,作者上传了一个包含#if /#endif语句的页面,但没有(在本文中)解释如何使用它们。 (Here is the sample doc

搜索返回的唯一链接似乎使我回到了Miscrosoft.com。 (尽管访问了许多链接,但我对这些链接的工作方式仍然不知所措,说了很多东西却没有说出什么似乎是微软的趋势)

我发现的隐含含义是#If /#endif语句正在寻找某个位置的配置文件中定义的值?但是示例代码没有(对我来说很明显)没有引用配置文件。

您能否通过示例代码告诉我? 我想确保可以消除#if /#Endif语句,这可能是导致我的问题的原因。 谢谢

1 个答案:

答案 0 :(得分:0)

from tkinter import * from tkinter import ttk from functools import partial root = Tk() root.title('test') mainframe = ttk.Frame(root, padding='1') mainframe.grid(column=0, row=0) root.resizable(False, False) root.geometry('800x400') items = [ { 'name' : '1', 'text' : '0000', },{ 'name' : '2', 'text' : '0020', },{ 'name' : '3', 'text' : '0040', }, ] rcount = 1 for rcount, item in enumerate(items, start=1): ttk.Button(mainframe, text=item['text'], command=partial(print,item['text'])).grid(column=1, row=rcount, sticky=W) root.mainloop() #if是C#预处理程序指令。 C#预处理程序指令用于帮助条件编译。

如果您链接的源代码是line 29,则#endifline 33上有#if SortFilterPage,{{3}上是#else }}。第29行表示如果定义了#endif,则编译将包括第30至32行,而不包括第34行。类似地,编译后的代码将包括第117至168行。

另一方面,如果在编译过程中未定义SortFilterPage,则将不包含第30至32行进行编译,第117至168行也将不包含在内,但第34行将包含在内。

您会注意到,SortFilterPage实际上是由line 35处的SortFilterPage指令在源代码中定义的。但是您可以删除该定义,而在使用line 1运行编译时定义它。

您可以将第1行更改为#define。这将意味着#define SortFilter将是未定义的(假设它不是在通过命令行工具进行编译时定义的)。在这种情况下,将更改要包括哪些行以进行编译。例如,第81至114行将包含在已编译的代码中。

更多读数: