从MDN:
defaultSelected-可选
一个布尔值,用于设置选定的属性值,即,使其成为首次加载页面时在元素中选择的默认值。如果未指定,则使用默认值false。请注意,如果值为true,则尚未将选项设置为selected。selected-可选
布尔值,用于设置选项的选择状态;默认值为false(未选择)。如果省略,则即使defaultSelected参数为true,也不会选择该选项。
这对我来说还不清楚。defaultSelected确定是否是“这将是选定的默认值”,但是一句话之后它说“如果尚未选择,则值为true不会将选项设置为selected”。所以...它没有设置它为选中状态吗?如果它已经被选中,它只会将其设置为选中吗?
selected还要求设置选定状态。如果省略,则不管defaultSelected,都不会选择该选项。所以... defaultSelected什么都没有?
这里发生了什么?
文档说FileMode.OpenOrCreate“指定操作系统应该打开一个文件,如果它存在;否则,应该创建一个新文件”,听起来它会打开文件并写入它。相反,该文件似乎被覆盖了。
如何添加到文件中,而不是覆盖它?
class Logger : IDisposable
{
private FileStream fs;
private StreamWriter sw;
public Logger()
{
// INTENT (but not reality): Will create file if one does not exist, otherwise opens existing file
fs = new FileStream("log.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
sw = new StreamWriter(fs, Encoding.UTF8);
}
public void Log(string message)
{
sw.WriteLine(message);
sw.Flush();
fs.Flush();
}
public void Dispose()
{
sw?.Dispose();
fs?.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)